请查看以下代码:
#include<stdio.h>
int main()
{
if(sizeof(int)>-1)
{
printf("Condition evaluates to true !");
}
else
{
printf("Condition evaluates to false !");
}
return 0;
}
新手会期望输出为“条件评估为真!”。不幸的是,它不是那个。请问为什么会发生这种情况。
答案 0 :(得分:0)
您需要将sizeof
的返回值转换为int才能使评估有效:
if((int)(sizeof(int)) > -1)
查看sizeof