C的Sizeof()函数

时间:2014-09-22 15:17:51

标签: c

#include<stdio.h>
void main()
{
int a=2;
if ((sizeof(a))>-1)
printf("a");
else
printf("b");
}

为什么程序将输出设为b

当sizeof(a)= 4时,大于(-1)

1 个答案:

答案 0 :(得分:4)

sizeof返回size_t(实现定义的无符号整数类型)。

因此-1也会转换为无符号。假设two's complement表示负整数,(unsigned)-1大于(unsigned)4,因此输出为b