Freigeben über


if Anweisung (C)

Die if Anweisung steuert die bedingte Verzweigung. Der Textkörper einer if Anweisung wird ausgeführt, wenn der Wert des Ausdrucks ungleich Null ist. Die Syntax für die if Anweisung weist zwei Formen auf.

Syntax

selection-statement:
if ( expression ) statement
if ( expression ) statement else statement

In beiden Formen der if Anweisung werden die Ausdrücke, die einen beliebigen Wert außer einer Struktur aufweisen können, ausgewertet, einschließlich aller Nebenwirkungen.

In der ersten Form der Syntax wird wenn expression wahr (nonzero) statement ausgeführt. Ist expression "false", statement wird ignoriert. In der zweiten Form der Syntax, die verwendet elsewird, wird die zweite statement ausgeführt, wenn expression "false" ist. Bei beiden Formularen übergibt das Steuerelement dann von der if Anweisung an die nächste Anweisung im Programm, es sei denn, eine der Anweisungen enthält ein break, continueoder goto.

Im Folgenden sind Beispiele für die if Anweisung aufgeführt:

if ( i > 0 )
    y = x / i;
else
{
    x = i;
    y = f( x );
}

In diesem Beispiel wird die Anweisung y = x/i; ausgeführt, wenn i sie größer als 0 ist. Wenn i kleiner als oder gleich 0 ist, i wird sie zugewiesen xund f( x ) zugewiesen y. Die Anweisung, die die if Klausel bildet, endet mit einem Semikolon.

Verwenden Sie beim Verschachteln von if Anweisungen und else Klauseln geschweifte Klammern, um die Anweisungen und Klauseln in zusammengesetzte Anweisungen zu gruppieren, die Ihre Absicht verdeutlichen. Wenn keine geschweiften Klammern vorhanden sind, löst der Compiler Mehrdeutigkeiten auf, indem jeder else mit dem nächstgelegenen if verknüpft wird, der kein elseKlammern enthält.

if ( i > 0 )           /* Without braces */
    if ( j > i )
        x = j;
    else
        x = i;

Die else Klausel ist der inneren if Anweisung in diesem Beispiel zugeordnet. Wenn i kleiner oder gleich 0 ist, wird kein Wert zugewiesen x.

if ( i > 0 )
{                      /* With braces */
    if ( j > i )
        x = j;
}
else
    x = i;

Die geschweiften Klammern, die die innere if Anweisung in diesem Beispiel umgeben, machen den else Klauselteil der äußeren if Anweisung. Wenn i kleiner oder gleich 0 ist, i wird sie zugewiesen x.

Siehe auch

if-else-Anweisung (C++)