c语言 intx=10,y=10,i; for(i=0;x>8;y=++i) printf(%d,%d,x--,y)

问题描述:

c语言 intx=10,y=10,i; for(i=0;x>8;y=++i) printf(%d,%d,x--,y)
1个回答 分类:综合 2014-12-16

问题解答:

我来补答
首先小错误intx=10;int类型和变量名不能连起来写.其次printf("%d,%d",x--,y);别忘了双引号
得到的答案为:
10,109,1
再问: 答案是这样的,,为什么第一次循环不执行for(i=0;x>8;y=++i)而直接得到10,10.
再答: for循环是先初始化一次第一个位置i=0,在执行第二个位置判断x>8,执行完一次才运算第三个位置y=++i。第一次执行输出的事x--,后减减先输出在减一所以输出x为10而x的值变为9,而因为y没变所以y=10。而第二次循环先执行for中第三个位置y=++i,前加加先加一再赋值所以y=1,而因为上一次循环x已经后减一,所以输出x=9,y=1而x减减变成8。第三次循环x>8不符合条件,所以循环退出
 
 
展开全文阅读
剩余:2000