【发布时间】:2015-10-31 15:13:48
【问题描述】:
方案一:
#include <stdio.h>
int main()
{
if (sizeof(int) > -1)
printf("Yes");
else
printf("No");
return 0;
}
输出:No
方案二:
#include <stdio.h>
int main()
{
if (2 > -1)
printf("Yes");
else
printf("No");
return 0;
}
输出:Yes
问题:
- 方案一和方案二有什么区别?
- 为什么
sizeof(int)被认为是unsigned? - 为什么程序 2 中的
2被视为signed?
【问题讨论】:
-
2是signed int文字。2u将是unsigned。 -
这能回答你的问题吗? Why sizeof(int) is not greater than -1?