该程序要求C
实现回答一个简单的问题:
如果我们检查最大的可再现整数INT_MAX < 0并打印它。
printf ("%d\n", (INT_MAX) < 0);
所以,显示输出0
。因为条件变为false并且关系运算符返回0
。
但是,如果我们添加 1
到最大的可表示整数并检查条件,请参见以下程序。
#include <limits.h>
#include <stdio.h>
int main (void)
{
printf ("%d\n", (INT_MAX+1) < 0);
return 0;
}
并显示输出 1
。
为什么条件不会变为假?
另外,如果我们将最大的可再现整数加一,结果是否为负?