C++ 中在 while 和 if 語句後使用分號
當你有一個這樣的語句:
while (expression);
無論表示式是否為真,while 迴圈都會執行。但是,如果你這樣寫:
if (expression);
無論表示式是否為真,語句都會執行。這是因為 if 和 while 的語法是:
if (<expr>) <statement> // or while (<expr>) <statement>
所以只有當 <expr> 計算結果為真時,才會執行 <statement>。在 while 中,它將進入無限迴圈。
所以問題是什麼 <statement> 它執行。如果沒有花括號 {},則下一個語句以 ; 結束,即使該語句為空。請注意,空語句是有效的。
if (<expr>) /* Empty Statement */; while (<expr>) /* Empty Statement */;
在這兩種情況下,都沒有執行任何操作(在表示式計算後)。雖然 while 可能會進入無限迴圈。注意:'{}' 是一個語句塊(一種包含其他語句列表的語句)。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP