循环判定是第二个分语句:x>8,因为x每次减一,循环一共进入两次,每次输出两个,因此是四个数。
这个题目的难点其实是第2、4个数字,因为for的第三分语句是在循环后执行的,因此y第一次不变,第二次变成了第一次的赋值。
因为x初始化为了10,然后终止条件是x>8,然后循环体里是x--
所以进入循环之前,x可取10,9,所以就循环了两次
第一次循环相当于:cout<
第二次循环:cout<
更具for循环的条件x>8来决定的 第一次i=0,x=10进入循环体输出x=10 然后x--得到x=9y此时等于10 然后y=++i i的初始值是0所以y=1第二次循环i=1,x=9>8,进入循环体输出x=9,y=1 计算y=++i的到y=2,第三次循环x=8,x>8不成立 跳出循环,循环结束;
这个 题简单的考了下 ,变量名 ++ 和 ++变量名这个概念;
变量名 ++ 是执行完+1;
++变量名 执行前 +1;
循环开始执行第一次,i =0,X=10, 10>8 ,打印X =10、Y=10,执行X --,
这个时候,X 就等于9了,然后Y 被赋值为 ++i ,Y=1;
for 循环开始了第二次,此时 i =1, X=9,9>8, 打印X=9,Y=1,执行 X--,X=8;
for 循环开始了第三子,此时i =1, X=8 ,8不大于8 ,所以循环停止了。