c語言,這個while迴圈有什麼問題,請詳細解析一下,謝謝

時間 2021-09-05 20:04:53

1樓:無敵的戰士

這個while迴圈內只有printf("#");

沒有包含n=n-1;

所以不會執行n=n-1;

而while(n-->0)等價於while(n>0)(被包含,會執行)

2樓:匿名使用者

你那個n=n-1不在迴圈體內啊。

關於c語言的問題,為什麼我看不懂什麼意思,求大神給我詳細解釋一下while裡的迴圈,謝謝了!

3樓:匿名使用者

你可以象計算機一樣一句一句機械地執行你的程式,這就叫跟蹤:

int x=1,y=1; //x=1,y=1

while ( x<=9) //因條件成立執行迴圈體

y=1; //y=1

while(y<=x) //x=1,y=1,條件成立執行迴圈體

輸出:1*1=1

y++; //y=2

while(y<=x) //x=1,y=2,條件不成立結束迴圈

printf("\n"); //輸出換行,可見while(y<=x)迴圈是要輸出一行內容,而while(x<=9)可控制輸出幾行

x++; //x=2,y=2

while ( x<=9) //因條件成立執行迴圈體

y=1; //y=1

while(y<=x) //x=2,y=1,條件成立執行迴圈體

輸出:2*1=2

y++; //y=2

while(y<=x) //x=2,y=2,條件成立執行迴圈體

輸出:2*2=4

y++; //y=3

while(y<=x) //x=2,y=3,條件不成立結束迴圈

printf("\n"); //輸出換行

...經過上述跟蹤,得到了完整的兩行輸出:

1*1=1

2*1=2 2*2=4

可以預見的是後面的輸出:

3*1=3 3*2=6 3*3=9

...9*1=9 9*2=18 9*3=27 ... 9*9=81

是一個九九乘法表,程式中while語句要分析它的起始和結束條件,因為while(x<=9)迴圈的結束條件是x>9,因此我們注意一下x的初始條件,x=1;迴圈體中對x進行無條件的賦值計算的語句就一句:x++;那麼可得出:經過迴圈,每次迴圈x會分別等於1,2,3,4,...

,9;y值在while(x<=9)迴圈體內,每次都要重新置1,然後迴圈條件是y<=x,迴圈體中有y++,也就是y從1逐次變化到x,如果用for迴圈表示可能會更容易讀懂:

for ( x=1;x<=9;x++,printf("\n") )

for ( y=1;y<=x;y++ )

printf("%d*%d=%d\t",y,x,x*y);

4樓:匿名使用者

先說外面的while迴圈

while (x<=9)

控制x從1-9迴圈。

裡面的while迴圈

y=1;

while (y<=x)

y的值從1-x來迴圈,並計算y乘x的值

5樓:匿名使用者

你這個應該是列印99乘法表吧

你對應一下,很簡單的

裡面那個while,就是判斷x是否小於等於y,如果符合條件,列印x*y=值x*y

如果不符合條件,列印換行,y加上1在列印

6樓:東方偶爾白

只是個雙迴圈 不知道你那裡不懂

c語言中, while(條件){} 迴圈體內沒有執行語句,這個怎麼理解啊?拜託各位高手指教一下,謝謝!

7樓:匿名使用者

就是測試條件如果不成立就繼續執行,如果成立就等待。

比如微控制器裡等待鎖相環鎖定成功的標誌。

8樓:飄零的狐狸

一種情況是死迴圈 因為迴圈體內是空的,改變不了條件的值

另一種情況是 等待

9樓:

主要看條件能不能通過外部按鍵或改變它的值,其實就是不停地等待~!

c語言問題,希望高手能夠幫忙解答一下,謝謝了。

10樓:鈍角111度

#include

int main()

printf("%d\n",a);

return 0;}

11樓:濮方雅

在while裡死迴圈了,你要加上一句在while的花括號裡面

c=a*b;

12樓:匿名使用者

因為你++a之後,c的值根本沒變,程式一直處於死迴圈中。加上c=a*b;吧。

13樓:匿名使用者

因為c永遠不會大於10000所以死迴圈。一直在計算。。

14樓:m_奮鬥

這個while是個死迴圈可好啊,c=a*b加到迴圈體就好了啊。

c 語言while迴圈,c語言while的用法

p1 p2 這個是賦值語句,而非比較運算。字元陣列雖然有大小限制,但是指標就不同,即便超過了大小,指標指向陣列越界後的下乙個記憶體單元,並不會發生錯誤 另外,printf s a 函式列印字串,它是在遇到字串結束符的時候才終止輸出,此時a陣列的值已經被賦值為p2所指向的記憶體空間的值。這個程式是錯的...

C語言怎麼退出while迴圈,c語言中while的用法

不不見不念 if條件語句寫錯了 if a 判斷字串相等不能用等號 if strcmp a,0 要這麼寫 while 是乙個迴圈體,退出迴圈體的方法有 1 迴圈體條件 不成立,如 while a 0 當 a 0 的時候,條件 a 0不成立,while 迴圈結束,退出 while 迴圈。2 在迴圈體內使...

C語言中,關於while迴圈的問題

include int main int argc,char argv 我在解釋一下,昨天沒說清楚。就算你只輸入了乙個a,這個時候scanf掃瞄緩衝區,發現不是整形,所以直接退出,指標仍舊指在a的位置,下次scanf呼叫的時候,指標仍舊指在a這裡,所以scanf不等待你輸入,但是a不是整數,又直接退...