c while語句的問題,一個簡單的C while 迴圈問題

2021-03-18 07:19:37 字數 2547 閱讀 4168

1樓:天蠍小灰馬

原因:雖然while判斷沒有滿足,但是此時仍然要給i-1,就是前面說的用完i值後 再自減。所以此時i值是-1了。

do-while語句的一般形式為:

do語句

while(表示式);

這個迴圈與while迴圈的不同在於:它先執行迴圈中的語句,然後再判斷表示式是否為真,如果為真則繼續迴圈;如果為假,則終止迴圈。因此,do-while迴圈至少要執行一次迴圈語句。

其執行過程可用下圖表示。

2樓:

首先說明兩點

如果 - - 在後面的話,先使用這個變數,用完後再自減。

第二點 while中的表示式 如果是大於0的 while都是成立的,就是true

開始分析

i=3while()判斷,由於i=3,所以滿足條件,判斷結束後 i 值減去1

然後繼續執行while內的語句,但是這裡while跟了一個分號,就是說while是一個空迴圈。

繼續while判斷,此時i值是2,所以 while仍然滿足,i-1後繼續空迴圈。

此時i=1,執行while判斷,仍然滿足條件,給i-1,然後繼續空迴圈

此時i=0了,繼續while判斷,發現不滿足條件了,雖然while判斷沒有滿足,但是注意此時仍然要給i-1,就是我前面說的用完i值後 再自減。所以此時i值是-1了

由於不滿足條件,所以退出迴圈了。最後輸出的就是-1

3樓:小寄生蟲兒

while(i--);這句後面有個分號,就是執行完while( i--)後,執行空,i=1時,while 執行後,i=0,之後會再進入一次迴圈,也就是while(0--),這時候為假,i=-1,則輸出

4樓:

當i==0時,雖然while迴圈退出了,但是--操作還是要執行的,這樣到你用printf的時候就成-1了。

相當於 while(i); i--;

5樓:

因為i--是先取i值0,然後i--,這時i=-1,然後才是while判斷取出的值0,退出迴圈,所以結果是-1

6樓:秦玉蘭掌珍

while(a>0)

你這段**又重新把a的值賦成了0,外層for你又讀a的值,那麼第一次的時候a初始為1,進入你的while迴圈後,a被賦值成0,sum永遠是sum*1,當然會一直打1了。

一個簡單的c++ while 迴圈問題

7樓:匿名使用者

#include

using namespace std;

int main()

while (worktime != 0);

system("pause");

return 0;

}你的迴圈裡度直接return 0了,不可能執行多次。

另外 if(worktime>40,worktime<=50) //當 工作時間在40-50之間時 執行下列語句

這行應該是 : if(worktime>40 && worktime<=50) //當 工作時間在40-50之間時 執行下列語句

c++while迴圈順序問題基礎問題

8樓:贏桓

i++在前面那個,i++之後i=1;所以sum是從1開始加,加6次,1+2+3+4+5+6=21;

i++在後面那個,sum加之後i++,sum從0開始加,也是加6次,0+1+2+3+4+5=15;

6次是這麼算出來的,i<=5,從0開始,所以i的值是0,1,2,3,4,5是六個數,i++在前面那個最後一次的時候i=5,i++=6;

i++在後面的時候最後一次i=5的時候最後sum+的是5,所以值一定不一樣

c++while迴圈問題。

9樓:匿名使用者

這個要看你的兩個函式的值是不是都是0,都是0的話肯定永真了。好好檢查下while裡面的兩個呼叫的函式。

關於c++ while迴圈的一個問題

10樓:

c++輸入cin詳解

輸入原理:

程式的輸入都建有一個緩衝區,即輸入緩衝區。一次輸入過程是這樣的,當一次鍵盤輸入結束時會將輸入的資料存入輸入緩衝區,而cin函式直接從輸入緩衝區中取資料。正因為cin函式是直接從緩衝區取資料的,所以有時候當緩衝區中有殘留資料時,cin函式會直接取得這些殘留資料而不會請求鍵盤輸入

在讀取整數9後遇到.發生賦值錯誤,導致迴圈結束。

11樓:我

稍微改了一下:

#include

#include

using namespace std;

int main()

sum += a;

cout << "sum=" <

加了個限制條件吧算是,然後你說的問題是因為資料型別的問題。

int是整形,你輸入一個浮點型資料他是不會給你四捨五入的,只會保留整數部分,這樣算是一個隱式的型別轉換。

簡單的日語句子問題,一個簡單的日語句子問題

1 看後面的動詞是 食 是 食 的被動型。意思是 被吃掉了 因為是是被弟弟吃掉了 所以物件的 弟弟 後面要加 甜瓜被弟弟吃掉了 2 這個 表示移動的場所 離開的場所後面加的。因為是從 駅 出來的 所以 駅 後面要加 這個 表示動作的結果 做動作的物件的場所。意思是 向 在 於 巴士從車站出來 行駛了...

簡單的問題,一個簡單的問題!

報酬看時代而定了。時代不同,報酬就不同,但是總的說來會是很少了。所以一般主人家趕丫鬟 奴婢走時,她們都是哭著鬧著不想走,也是為了生存啊。主人家高興時給幾個打賞錢,過年 中秋什麼的節日也會給點 她們屬於封社會中的依附農民,基本上是處於奴隸的地位,沒有任何報酬。依據主人家族規矩和喜惡決定。固定報酬是沒有...

求助簡單問題,求助一個簡單問題

dos下檢視u盤的碟符與硬碟的分割槽格式 有沒有非fat格式及是否有ntfs檢視工具 有關的,如果是從u盤引導的,u盤的碟符可以是a盤也可以是c盤。大容量u盤會被主機板模擬為硬碟,多為c。最好給各個分割槽加個不同的英文卷標,這樣就好檢視了。不要使用中文的,否則很可能在英文dos下亂碼。通過檢視容量來...