unsigned int zero = 0;
unsigned int compzero = 0xFFFF;
对于一个int型不是16位的处理器来说,上面的代码是不正确的。应该改成如下:
unsigned int compzero = ~0;
整数的自动转换
Void foo(void)
{
unsigned int a = 6;
int b = -20;
if(a+b>6)
puts(“>6”);
else
puts(“<=6”);
}
有符号的b会转换成无符号的b,则会变成一个非常大的正整数。