while(1) 什麼意思 while(i--)什麼意思

轉自:http://zhidao.baidu.com/link?url=jxcp2inynEwfGcvWRKFE59pVm_YlcjH2e3Wzg_xuXK8mfgp5ULURW_q74Skj_6qEgXKCt75tYqU8evpWSaNxL_


while語句的原型是while(表達式)語句,當表達式爲非0值時,執行while語句中的嵌套語句。



那麼while(1)其中1代表一個常量表達式,他永遠不會等於0。所以,循環會一直執行下去。除非你設置break等類似的跳出循環語句循環纔會中止


while(i--)其中i是一個變量,因此表達式i--有不同的值,依次遞減,i--是先取值後減,--i先加後取值,所以i--的值同未執行該自減運算時的i相等。因此當i爲0時,循環會跳出


很容易混淆的是把i--的值誤認爲i執行自減後的值,可以編個小程序驗證下


#include<iostream>
#include<stdlib.h>
using namespace std;
int main()
{
    int i=1;
    while(i--)//此時i=0
    {
              i--;//執行該語句i爲-1
              break;
           
    }
    cout<<i;
    system("pause");         
}


輸出爲-1,說明執行了循環內i--的語句
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章