2013-03-30 98 views
-3

有人可以向我解释为什么当我运行该程序时,这段代码在命令提示符下显示这个(00 11 21 32 42)?C代码结果说明

下面的代码:

int main() 
{ 
    int x = 0; 
    int y = 0; 
    while (x < 5) { 
     y = x - y; 
     printf("%i%i ", x, y); 
     x = x + 1; 
    } 
    return 0; 
} 

谢谢。

+2

该程序的哪一部分你不明白?尝试播放电脑并在脑海中运行该程序,该程序会告诉你为什么要打印该程序。 – thejh

+0

do printf(“%d%d”,x,y);相反.. –

+2

投资一支铅笔和纸。有两列名为x和y,并在循环中写入初始值及其随后的值 –

回答

4

程序循环5次,而x范围为[0,4],打印的x和声明y = x - y告诉我们的价值观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) 
+0

@ user2227961如果你发现我的答案有帮助,请考虑通过点击投票计数下方的绿色复选标记来接受答案 –

2

第一次迭代:

x=0 y=0-0=0

秒:

x=1y=1-0=1

第三:

x=2y=2-1=1

阐述:

y=3-1=2

第五:

y=4-2=2x=4

0

在该循环的每次迭代中,x为1,并且Y(第二个数字)递增是当前X减去前y的结果。