if statement
Führt Code bedingt aus.
Wird verwendet, wenn Code nur ausgeführt werden soll, falls eine bestimmte Bedingung wahr ist.
Inhaltsverzeichnis |
Syntax
attr-spec-seq
(optional)
if (
expression
)
statement-true
|
(1) | ||||||||
attr-spec-seq
(optional)
if (
expression
)
statement-true
else
statement-false
|
(2) | ||||||||
| attr-spec-seq | - | (C23) eine optionale Liste von Attributen , angewendet auf die if -Anweisung |
| expression | - | ein Ausdruck eines beliebigen skalaren Typs |
| statement-true | - | eine beliebige Anweisung (oft eine zusammengesetzte Anweisung), die ausgeführt wird, wenn expression ungleich 0 vergleicht |
| statement-false | - | eine beliebige Anweisung (oft eine zusammengesetzte Anweisung), die ausgeführt wird, wenn expression gleich 0 vergleicht |
Erklärung
expression muss ein Ausdruck eines beliebigen skalaren Typs sein.
Wenn expression ungleich dem ganzzahligen Nullwert verglichen wird, statement-true wird ausgeführt.
In der Form (2) , falls expression gleich dem ganzzahligen Nullwert verglichen wird, statement-false wird ausgeführt.
|
Wie bei allen anderen Auswahl- und Iterationsanweisungen hat die gesamte if-Anweisung ihren eigenen Blockgültigkeitsbereich: 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 } |
(seit C99) |
Hinweise
Das else ist immer mit dem nächstgelegenen vorhergehenden if assoziiert (mit anderen Worten, wenn statement-true ebenfalls eine if -Anweisung ist, dann muss diese innere if -Anweisung ebenfalls einen else -Teil enthalten):
Wenn statement-true über eine goto -Anweisung erreicht wird, wird statement-false nicht ausgeführt.
Schlüsselwörter
Beispiel
Ausgabe:
i > 2 is false i == 3 i != 3 is false
Referenzen
- C23-Standard (ISO/IEC 9899:2024):
-
- 6.8.5.2 Die if-Anweisung (S: 154)
- C17-Standard (ISO/IEC 9899:2018):
-
- 6.8.4.1 Die if-Anweisung (S: 108-109)
- C11-Standard (ISO/IEC 9899:2011):
-
- 6.8.4.1 Die if-Anweisung (S: 148-149)
- C99-Standard (ISO/IEC 9899:1999):
-
- 6.8.4.1 Die if-Anweisung (S: 133-134)
- C89/C90-Standard (ISO/IEC 9899:1990):
-
- 3.6.4.1 Die if-Anweisung
Siehe auch
|
C++ Dokumentation
für
if
Anweisung
|