谁能告诉我下面一个C程序的输出结果还有为什么是那个结果

来源:百度知道 编辑:UC知道 时间:2024/05/12 09:21:35
main()
{int x=10,y=10,i;

for(i=0;x>8;y=++i)
printf("%d %d\n",x--,y);
}
y=++i 在第1轮循环没用么?

10 10
9 1

第一次进入for循环,i=0,x=10,y=10
x--是先输出x,后x-1,因此 10 10,之后,y=1;
第二次(此时x满足>8)进入for循环,i=1,y=1,x=9
因此,输出 9,1,之后,x=8,y=2
第三次的时候x不满足x>8,跳出循环了。

10 1
9 1

10 10
9 1
可是我不明白为什么第1次y=10,而不是1