c语言的题目,高手继续请进(知道的希望能解释下,谢谢)

来源:百度知道 编辑:UC知道 时间:2024/05/28 07:39:21
main()
{
int x=10,y=10,i;
for (i=0;x>8;y=++i)
printf("%d %d ",x--,y);
}

输出什么啊?我很不明白

输出楼上回答的;
10 10 9 1
这个只要把握住for循环中3个控制条件的作用即可:
第一个 : i=0 在for语句开始时只执行一次;
第二个: x>8 每次看它是不是成立,成立了才做for循
环体的内容,否则结束循环;
第三个: y=++i 每次执行完一次for循环体后来执行这句
话,然后做第二个语句的判断工作。

10 10 9 1

10 10 9 1
第一次循环不考虑for里第三项
x--是先取x的值再减x,所以输出10后x为9
循环结束后执行y=++i,++i先加i再赋给y,i和y都为1
第二次循环里输出9后x为8
然后不满足x>8退出

10 10 9 1
我用TC运行过了,绝对对的。

1楼的是白痴???

还点亮了什么东西?

我觉得应该是 10 10 9 1
至于解释
上面的解释的很清楚了