• c++有符号变量和无符号变量相加的结果


    #include <stdio.h>
    
    char getChar(int x,int y)
    {
        char c;
        unsigned int a = x;
        (a+y>10)?(c=1):(c=2);
        return c;
    }
    
    int main()
    {
        char c1 = getChar(7, 4);
        char c2 = getChar(7, 3);
        char c3 = getChar(7, -7);
        char c4 = getChar(7, -8);
        
        printf("c1=%d
    ",c1);
        printf("c1=%d
    ",c2);
        printf("c1=%d
    ",c3);
        printf("c1=%d
    ",c4);
        return 0;
        
        
    }

    1 2 2 1

    无符号和有符号都会变成无符号的 所以 7+4>10 1 7+3=10 2 -7会变成一个很大的数和7相加刚好溢出为0 所以<10 为2 -8变成一个很大数 和7 相加没有溢出还是一个很大的数 所以>10  为 1 

  • 相关阅读:
    在安装了Anaconda+Pycharm怎么导入OpenCV
    JS--ECMAScript
    JS--DOM
    JS-BOM
    浮动 高度塌陷
    CSS2--字体样式
    CSS2--文本样式
    css2--垂直对齐
    css2--背景
    HTML基础
  • 原文地址:https://www.cnblogs.com/zhuyaguang/p/4724482.html
Copyright © 2020-2023  润新知