L'expression est évaluée, et sa valeur est ignorée. Ceci n'a donc de sens que
si l'expression réalise un effet de bord. Dans la majorité des cas, il s'agira
d'une expression d'affectation.
Exemple :
D'après la syntaxe, on voit qu'il est parfaitement valide d'écrire
l'instruction
i + 1;
mais ceci ne faisant aucun effet de bord, cette instruction n'a aucune utilité.
Attention au fait que expression doit être parenthésée ;
2.
La partie then de l'instruction n'est pas introduite par un mot clé :
pas de then comme dans certains langages.
3.
Lorsqu'il y a ambiguïté sur l'instruction if
dont dépend une partie else, l'ambiguïté est levée en faisant
dépendre le else de l'instruction if la plus proche.
Par exemple, si on écrit :
if (a > b) if (c < d) u = v; else i = j;
le else sera celui du if (c < d).
Si on voulait qu'il en soit autrement, il faudrait écrire :
Etant donné que l'instruction if teste l'égalité à zéro de
expression,
celle-ci n'est pas nécessairement une expression de comparaison.
Toute expression délivrant une valeur pouvant être comparée à zéro
est valide.
if (a > b) max = a; else max = b;
if (x > y)
{
... /* liste d'instructions */
}
else
{
... /* liste d'instructions */
}
if (a) /* équivalent à if (a != 0) */
{
...
}