比较 C 语言中的有符号和无符号整数


#include <stdio.h>
int main(void)
{
if (sizeof(int) > -10)
printf("YESn");
else 
printf("NOn");
return 0;
}

为什么打印"否"而不是"是"?因为根据编译器,int 的大小为 4 字节。它大于 -10。

sizeof生成一个无符号值。比较有符号整数和无符号整数时,有符号值将转换为无符号。 当解释为无符号时,两者对-10的补码值远大于4

最新更新