3 回答

TA貢獻1887條經驗 獲得超5個贊
while()是循環語句。
while(expr)表示當邏輯表達式expr為真時,循環運行循環體,直到expr值為假或遇到break語句時退出。
!x是邏輯非操作,當x為0時,值為真,否則值為假。 在這里等效于x==0。
在while(!x)后面有一個分號,表示該循環的循環體為空,即只做判斷和循環,并不執行操作。
于是這句的意思就是,如果x為0,則一直循環下去,不做操作,否則繼續執行。
如果沒有其它線程來改變x的值,那么這里就是一個死循環了。

TA貢獻1794條經驗 獲得超8個贊
while(!x)后面有一個分號,表示該循環的循環體為空,即只做判斷和循環,并不執行操作。
!是反運算符,單目,!真 即 假,!假 即 真。
如果x != 0, 則 !x 為 0,即假,如果x == 0,則 !x 為 真。
while()是循環語句。
while(expr)表示當邏輯表達式expr為真時,循環運行循環體,直到expr值為假或遇到break語句時退出。
!x是邏輯非操作,當x為0時,值為真,否則值為假。 在這里等效于x==0。

TA貢獻1890條經驗 獲得超9個贊
!是反運算符,單目,!真 即 假,!假 即 真。
如果x != 0, 則 !x 為 0,即假,如果x == 0,則 !x 為 真。
while循環和 do-while 循環的區別在于,while是先檢查是否復合條件再循環,而do-while循環則是在循環體尾檢查是否符合條件,這就說明,do-while循環內的語句至少被執行一次。
這好比下面的例子
do{
吃一個三明治 ←←←←← Statement;
我餓嗎?(餓,再吃一個三明治↑)(不餓,退出循環↓) }while();
←←←←←←←←←
這就意味著,你至少得吃一個三明治。
如果使用while循環,則像下面這樣
我餓嗎?(餓,吃↓)(不餓↓) while() {
吃一個三明治 ← ↓ statement;}
←
這說明,你不一定吃一個三明治。
這就是while跟do-while的區別。。。=、=
添加回答
舉報