if 語句
來自 cppreference.com
有條件地執行程式碼。
用於僅在某些條件為真時才需要執行程式碼的情況。
目錄 |
[編輯] 語法
屬性說明序列(可選) if ( 表示式 ) 真語句 |
(1) | ||||||||
屬性說明序列(可選) if ( 表示式 ) 真語句 else 假語句 |
(2) | ||||||||
屬性說明序列 | - | (C23)可選的屬性列表,應用於 if 語句 |
表示式 | - | 任何標量型別的表示式 |
真語句 | - | 任何語句(通常是複合語句),在表示式比較不等於 0 時執行 |
假語句 | - | 任何語句(通常是複合語句),在表示式比較等於 0 時執行 |
[編輯] 解釋
表示式必須是任何標量型別的表示式。
如果表示式的比較結果不等於整數零,則執行真語句。
在形式 (2) 中,如果表示式的比較結果等於整數零,則執行假語句。
與所有其他選擇和迭代語句一樣,整個 if 語句有其自己的塊作用域 enum {a, b}; int different(void) { if (sizeof(enum {b, a}) != sizeof(int)) return a; // a == 1 return b; // b == 0 in C89, b == 1 in C99 } |
(C99 起) |
[編輯] 注意
else
總是與最近的未配對 if
相關聯(換句話說,如果真語句也是一個 if 語句,那麼該內部 if 語句也必須包含一個 else
部分)
如果透過 goto 進入真語句,則不執行假語句。
[編輯] 關鍵詞
[編輯] 示例
執行此程式碼
輸出
first is false i == 3 i != 3 is false
[編輯] 引用
- C17 標準 (ISO/IEC 9899:2018)
- 6.8.4.1 if 語句 (p: 108-109)
- C11 標準 (ISO/IEC 9899:2011)
- 6.8.4.1 if 語句 (p: 148-149)
- C99 標準 (ISO/IEC 9899:1999)
- 6.8.4.1 if 語句 (p: 133-134)
- C89/C90 標準 (ISO/IEC 9899:1990)
- 3.6.4.1 if 語句
[編輯] 參閱
C++ 文件中關於
if 語句的內容 |