main() { int x=10,y=10,i; for (i=0;x>8;y=++i) printf("%d %d ",x--,y); } 结果最后一个数为什么是1?
答案:2 悬赏:40
解决时间 2021-02-12 10:40
- 提问者网友:逝爱
- 2021-02-12 04:13
main() { int x=10,y=10,i; for (i=0;x>8;y=++i) printf("%d %d ",x--,y); } 结果最后一个数为什么是1?
最佳答案
- 二级知识专家网友:傲娇菇凉
- 2021-02-12 04:31
第一次循环:
开始的时候(for里面):x=10,y=10;执行printf,显示的值为10,10,执行printf结束后,x=9,y=10
第二次循环:
开始的时候(for里面):x=9,y=1;执行printf,显示的值为9,1,执行printf结束后,x=8,y=1
第三次循环:
开始的时候(for里面):x=8,y=2;但是此时x>8为假,所以循环结束,最终在屏幕上显示的最后一个数的值为1
开始的时候(for里面):x=10,y=10;执行printf,显示的值为10,10,执行printf结束后,x=9,y=10
第二次循环:
开始的时候(for里面):x=9,y=1;执行printf,显示的值为9,1,执行printf结束后,x=8,y=1
第三次循环:
开始的时候(for里面):x=8,y=2;但是此时x>8为假,所以循环结束,最终在屏幕上显示的最后一个数的值为1
全部回答
- 1楼网友:桑稚给你看
- 2021-02-12 05:05
在循环语句for(表达式1;表达式2;表达式3)中,先执行表达式一,再执行表达式二,如果表达式二成立,就进入循环,第一次循环执行完后(本程序共两次循环),才执行表达式三(这是表达式三第一次被执行),然后再执行表达式二,看其是否成立,如果成立,就进行第二次循环。如此循环,表达式一只在第一次循环时执行,以后不再执行,表达式三在第一次循环不执行,以后的每次循环都执行。如果你要这是为什么,我只能说这是规定,别的就不知道了。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯