if文
From cppreference.com
コードを条件付きで実行します。
何らかの条件が真である場合にのみコードを実行する必要がある場合に使用されます。
目次 |
[編集] 構文
属性指定子シーケンス(任意) if ( 式 ) 文-true |
(1) | ||||||||
属性指定子シーケンス(任意) if ( 式 ) 文-true else 文-false |
(2) | ||||||||
| attr-spec-seq | - | (C23)if文に適用される、属性の任意のリスト |
| 式 | - | 任意のスカラー型の式 |
| 文-true | - | 式が0と等しくないと比較された場合に実行される、任意の文(多くの場合、複合文) |
| 文-false | - | 式が0と等しいと比較された場合に実行される、任意の文(多くの場合、複合文) |
[編集] 解説
式は、任意のスカラー型の式でなければなりません。
式が整数のゼロと等しくないと比較された場合、文-trueが実行されます。
形式(2)では、式が整数のゼロと等しいと比較された場合、文_falseが実行されます。
|
他のすべての選択文および反復文と同様に、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と関連付けられます(言い換えると、文-trueがif文でもある場合、その内側のif文もelse部を含まなければなりません)。
文-trueがgotoによって入る場合、文-falseは実行されません。
[編集] キーワード
[編集] 例
このコードを実行
出力
first is false i == 3 i != 3 is false
[編集] 参照
- C17標準 (ISO/IEC 9899:2018)
- 6.8.4.1 The if statement (p: 108-109)
- C11標準 (ISO/IEC 9899:2011)
- 6.8.4.1 The if statement (p: 148-149)
- C99標準 (ISO/IEC 9899:1999)
- 6.8.4.1 The if statement (p: 133-134)
- C89/C90標準 (ISO/IEC 9899:1990)
- 3.6.4.1 The if statement
[編集] 関連項目
if文のC++ドキュメント |