Teilen über


if-Anweisung (C)

Die Anweisung if steuert die bedingte Erstellung von Branches. Der Text einer if -Anweisung wird ausgeführt, wenn der Wert des Ausdrucks ungleich 0 (null) ist. Die Syntax für die Anweisung if weist zwei Formen auf.

Syntax

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

In beiden Formen der Anweisung if werden Ausdrücke ausgewertet, die über einen beliebigen Wert (keine Struktur) verfügen können, einschließlich aller Nebenwirkungen.

In der ersten Form der Syntax, wenn expression auf „true“ (Wert ungleich 0 [null]) festgelegt ist, wird statement ausgeführt. Wenn expression „false“ lautet, wird statement ignoriert. In der zweiten Form der Syntax, die else verwendet, wird die zweite statement ausgeführt, wenn für expression FALSE zurückgegeben wird. Bei beiden Formen geht die Steuerung von der if-Anweisung zur nächsten Anweisung im Programm, es sei denn, eine der Anweisungen enthält break, continue oder goto.

Nachfolgend einige Beispiele für die if -Anweisung:

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 größer als 0 ist. Wenn i kleiner oder gleich 0 ist, wird x der Wert i und y der Wert f( x ) zugewiesen. Die Anweisung, die die if-Klausel bildet, endet mit einem Semikolon.

Wenn Sie if -Anweisungen und else -Klauseln schachteln, verwenden Sie geschweifte Klammern, um die Anweisungen und Klauseln in Verbundanweisungen zu gruppieren, die Ihre Absicht verdeutlichen. Wenn keine Klammern vorhanden sind, löst der Compiler Mehrdeutigkeiten auf, indem er jedes else -Element dem nächstliegenden if -Element zuordnet, dem ein else -Element fehlt.

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

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

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 -Teil der Klausel der äußeren if -Anweisung aus. Wenn i kleiner oder gleich 0 ist, wird ix zugewiesen.

Siehe auch

if-else-Anweisung (C++)