#include <stdio.h>
int main() {
int i = 1;
int j = -1;
while(i)
i++;
while(-j)
j--;
i = i-1;
j = j+1;
printf("%d %d\n",i,j);
}
Run Code Online (Sandbox Code Playgroud)
我想知道int的范围!这段代码无法得到正确的答案!但它可以!
#include <stdio.h>
int main() {
int i = 1;
int j = -1;
while(i > 0)
i++;
while(j < 0)
j--;
i = i-1;
j = j+1;
printf("%d %d\n",i,j);
}
Run Code Online (Sandbox Code Playgroud)
我不知道他们之间有什么区别!
这两个代码示例都依赖于未定义的行为来确定int的最大值.没有为签名号码定义溢出int.
要查找int的最大值,只需读取该值即可INT_MAX.
如果你真的想以INT_MAX便携方式计算价值,那么你应该看看这个答案:是否有一种可移植的方式来定义INT_MAX?