#include <stdio.h>
int main(void)
{
if (sizeof(int) > -10)
printf("YES\n");
else
printf("NO\n");
return 0;
}
为什么打印NO而不是YES?因为根据编译器,int的大小为4个字节,并且大于-10。
答案 0 :(得分:2)
sizeof
产生一个无符号值。比较有符号和无符号整数时,有符号值将转换为无符号。解释为无符号时,-10
的两个补码值比4
大。