你好,有人能向我解释一下为什么当我运行程序时,这段代码在命令提示符上显示这个(00 11 21 32 42(吗?
这是代码:
int main()
{
int x = 0;
int y = 0;
while (x < 5) {
y = x - y;
printf("%i%i ", x, y);
x = x + 1;
}
return 0;
}
谢谢。
程序循环5次,而x
在[0,4]
范围内,打印x
和y
的值
语句y = x - y
告诉我们y
的当前值将取决于x
的当前值和y
的先前值
x y
x = 0 ==> y = 0 (0 - 0)
x = 1 ==> y = 1 (1 - 0)
x = 2 ==> y = 1 (2 - 1)
x = 3 ==> y = 2 (3 - 1)
x = 4 ==> y = 2 (4 - 2)
第一次迭代:
x=0
y=0-0=0
第二:
x=1
y=1-0=1
第三:
x=2
y=2-1=1
第四:
x=3
y=3-1=2
第五:
x=4
y=4-2=2
在循环的每次迭代中,x递增1,y(第二位(是CURRENT x MINUS PREVIOUS y的结果。