作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/14 07:03:06
c语言 intx=10,y=10,i; for(i=0;x>8;y=++i) printf(%d,%d,x--,y)
首先小错误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不符合条件,所以循环退出