int x=0;
for(;x>=0;x++);
x=x-1;
printf("%d\n",x);
return 0;
C语言for循环问题 为什么这个语句能输出int 的最大值
答案:2 悬赏:50 手机版
解决时间 2021-01-29 14:43
- 提问者网友:爱了却不能说
- 2021-01-29 05:02
最佳答案
- 五星知识达人网友:傲气稳了全场
- 2021-01-29 06:23
for(;x>=0;x++);这个循环会不停地x加1,但是由于计算机存储的局限性,达到int的最大值后再加1,它就“溢出”了(变成了最小的负数)。
于是x就不再>=0了,于是就退出循环了。
这时再x=x-1; ,这时再一次发生了“溢出”。x的值变回了正值(最大的正值)。
于是x就不再>=0了,于是就退出循环了。
这时再x=x-1; ,这时再一次发生了“溢出”。x的值变回了正值(最大的正值)。
全部回答
- 1楼网友:西岸风
- 2021-01-29 07:21
k=9时;执行while(k++<10);然后k++;
k=10时;while不执行;然后k++;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯