是while的迴圈問題

時間 2022-03-31 09:20:27

1樓:

樓主把while(k--);

後面的;去掉就是正解了

相當於while(k--)

;//這是乙個空語句

所以當k--=0的時候還是執行空。執行完後k-1=-1此時的k不符合while。所以跳出

然後printf.此時顯然是-1

如果int k=2;

while(k--)//去掉分號

printf(「%d\n」,k);

這裡的printf屬於while。所以會邊迴圈邊列印當k--=0的時候printf的k=0.等迴圈後k-1=-1然後跳出迴圈。

最終的結果是迴圈兩次

k=1;

k=0;

2樓:技術變現探索者

k--相關於函式。在這個函式如返回k值,並將k-1.

int _--(int *n) //_--相當於函式名k=2 時 函式 (k--)值為2 k=1 while表示式為真k=1 時 函式 (k--)值為1 k=0 while表示式為真k=0 時 函式 (k--)值為0 k=-1 while表示式為假

3樓:匿名使用者

你在下面再加一行printf(「%d\n」,k);就可以了你現在的列印語句其實是

while(k--)

這樣的,如果k=0,就直接跳出迴圈,雖然k=-1了,但是不會執行printf(「%d\n」,k);這一句

4樓:匿名使用者

因為k=0時已經跳出迴圈了,c語言中非正數都為假~

5樓:匿名使用者

注意你源程式中:while(k--);

「;」的位置很重要,這裡要不要『;』對應的結果是不同的,基礎的就不用多講了,4樓解釋的很清楚了。

python中while迴圈的問題

小wo 在路上 是因為你使用的編譯器是python3.x的原因 如果使用python2.x的話,列印出來將是 0,2 可以比較明顯的看到,使用python3.x輸出的結果是一個浮點型 float 一個整型 int 而使用python2.x輸出的結果是元組 tuple,直 就是帶括號 這就是pytho...

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

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

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

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