- 设 int a=-1; unsigned int b=2; 则对于下列if语句正确的执行结果是 if(ab) printf("a>b\n"); else printf("a=b\n"); A. ab C. a=b D. 运行出错
为啥是B,和补码有关吗。。
为啥是B,和补码有关吗。。
a = -1 转换后那是0xFFFFFFFF, b = 2;
if(a > b) TRUE 那是因为把 a 当成unsigned int进行了转换了
int a = -1;
unsigned int b = 0xFFFFFFFF;
if(a >= b) TRUE