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

2021-09-05 20:06:53 字數 2602 閱讀 2014

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迴圈語句為什麼while(n!0)的意思是隻要n不等於0?,不應該是n等於0嗎

while 裡面的條件為真才進入迴圈。當n不等於0才進入迴圈,否則就執行while迴圈後面的語句。c語言裡面while函式while n n預設為什麼意思,n不為零嗎?while n 等價於 while n 0 表示n不等於0時執行迴圈體。首先,n在這裡被當作了一個條件 其次,當n為真時,進入whi...

c語言中如何實現while迴圈執行設定的一段時間

你是準備隔一段時間執行這個迴圈麼,用sleep,如 while true include void mysleep int second second 輸入多少就是多少秒了。include include int main return 0 這個不難,不知道你要的是不是這樣 unsigned int...

c 裡for迴圈和while迴圈的區別?

您好,很高興您的問題。在c語言中,f or迴圈和while迴圈基本沒有區別,都可以用來表示多次重複需要做的一段過程。並且兩者是完全可以互換的。只是一般情況下,因為兩個迴圈的表示形式有區別,所以一般情況下,能夠確切知道迴圈次數 並且迴圈變數變化比較有規律的時候,我們會選擇for迴圈,更能體現出這種結構...