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不是整數,又直接退...