发布网友 发布时间: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