答案为什么是10 10 9 1,而不是10 1 9 2

main()
{int x=10,y=10,i;
for(i=0;x>8;y=++i)
printf(“%d,%d”,x--,y);
}

循环第一次:i=0,x=10,y=10,x>8成立,输出10 10,x--变为9,y=++i变为1
循环第二次:i=1,x=9,y=1,x>8成立,输出9,1,x--变为8,y=++i变为2,x>8不成立,循环结束

i = 0,x = 10,y = 10输出 10,10,x自减变成9,y = ++i = 1,i = 1
x = 9 > 8,继续循环,输出 9,1, x自减变成8,y = ++i = 2,i = 2
x = 8 > 8为假,退出循环

i没有赋初值啊