#include<stdio.h>
void main()
{
int a=2;
if ((sizeof(a))>-1)
printf("a");
else
printf("b");
}为什么程序的输出是b
当sizeof(a) =4时,大于(-1)
发布于 2014-09-22 23:18:43
sizeof返回size_t (这是实现定义的无符号整数类型)。
所以-1也会被转换成无符号的。假设负整数的two's complement表示,(unsigned)-1大于(unsigned)4,因此输出为b。
https://stackoverflow.com/questions/25977591
复制相似问题