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 i
x
zugewiesen.