这个代码运行结果为什么是10 10 9 1?

发布网友 发布时间:2024-10-23 08:37

我来回答

5个回答

热心网友 时间:4分钟前

for后面括号里的三段式中,前两段(即i=7和x>i)是在每次循环开始时执行的,第三段(即y-=9,++i,x--)则是在每次循环结束前执行的。

第1次循环,x=10, y=10, i=7, x>i成立,此时输出x和y的值为 10 10

然后执行y-=9,++i,x-- ,相当于:

y=y-9=10-9=1

i=i+1=7+1=8

x=x-1=10-1=9

第2次循环,x=9, y=1, i=8, x>i成立,此时输出x和y的值为 9 1

然后执行y-=9,++i,x-- ,相当于:

y=y-9=1-9=-8

i=i+1=8+1=9

x=x-1=9-1=8

第3次循环,x=8, y=-8, i=9, x>i不成立,循环结束

所以最终的运行结果为 10 10 9 1

热心网友 时间:4分钟前

求这个程序的运行结果main() { int y=9; for(; y>0; y--) if(y%3==1) {printf(“%d”, y--); continue;} } for(j=10;j>3;j--) { if(j%3) j--; --j; --j; }首先执行这个循环,让j可以被3整除的时候,需要减一,然后继续执行后面的两个减一.j的值是10->8->6->3此时条件不符合了,然后跳出循环,输出3

热心网友 时间:1分钟前

最开始时i=7但进入for后有++i,于是在第一次执行输出时i=8,输出x为10,y为10。
10,10
执行结束后,分别有y-=9,此时y从10变为1;再有x--,此时x从10变为9。
9,1
接下来进入第二次for循环
此时 i如上述为8,符合x>i的条件(9>8),则进入循环。循环内代码前执行的只有++i,另外两个是循环后执行,此时i变为9。
输出刚才我们看到的 9,1。
第二次结束执行x--,此时x为8。执行y-=9,此时y为-8。
第三次for判断时,由于不符合x>i的条件(8>9)所以并未进入循环。

热心网友 时间:8分钟前

9 1 然后执行y-=9,++i,x-- ,相当于:y=y-9=1-9=-8 i=i+1=8+1=9 x=x-1=9-1=8 第3次循环,x=8, y=-8, i=9, x>i不成立,循环结束 所以最终的运行结果为 10 10 9 1 ...

热心网友 时间:9分钟前

求这个程序的运行结果main() { int y=9; for(; y>0; y--) if(y%3==1) {printf(“%d”, y--); continue;} } for(j=10;j>3;j--) { if(j%3) j--; --j; --j; }首先执行这个循环,让j可以被3整除的时候,需要减一,然后继续执行后面的两个减一.j的值是10->8->6->3此时条件不符合了,然后跳出循环,输出3

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com