2013-03-30 100 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的結果。