#include <stdio.h>
int main(void)
{
if (sizeof(int) > -10)
printf("YESn");
else
printf("NOn");
return 0;
}
为什么打印"否"而不是"是"?因为根据编译器,int 的大小为 4 字节。它大于 -10。
sizeof
生成一个无符号值。比较有符号整数和无符号整数时,有符号值将转换为无符号。 当解释为无符号时,两者对-10
的补码值远大于4
。