C语言 结果是什么 为什么 main() {int x=10,y=10,i; for(i=0;x

C语言 结果是什么 为什么 main() {int x=10,y=10,i; for(i=0;x>8;y=++i) printf("%d %d ",x--,y); }

输出为:10 10 9 1
main()
{
int x=10,y=10,i; 第1轮 | 第2轮 | 第三轮
for(i=0;x>8;y=++i) x==10 y==10 | x==9 y==1 | 8>8不成立,
printf("%d %d ",x--,y);输出10,10 然后x==9 | 输出9 1然后x==8| 所以循环终止
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-02-02
10 10 9 1,x--是先取x的值再减,--x则相反;for循环括号最后一句 y=++i 是在循环体执行后再自加。本回答被提问者采纳
第2个回答  2014-06-19
main()
{
int x=10,y=10,i;
for(i=0;x>8;y=++i)
printf("%d %d ",x--,y);
}
i=0 x=10 y=11输出x=10;y=11
++i之后i=1,X进过printf("%d %d ",x--,y);中间--之后X=9,
i=1 x=9 y=12输出x=9;y=12
X在经过一循环X=8; 8>8不成立跳出来,
++在前面先加在赋值,在后面先赋值在加
第3个回答  2015-10-21
题目不完整
相似回答