« Conseils de codage en C/Recherche des erreurs » : différence entre les versions

Contenu supprimé Contenu ajouté
Thierry46 (discussion | contributions)
→‎Justification : complément
Thierry46 (discussion | contributions)
Mettre des parenthèses
Ligne 26 :
}
</source>
 
==Mettre des parenthèses==
Les expressions arithmétiques et logiques doivent être placées entre parenthèses.
 
===Justification===
Cette règle évite les erreurs d’interprétation dues aux règles d’associativité du langage C.
Son non respect peut conduire à des erreurs dans le codage des expressions mathématique ou de test.
 
===Exemple===
On veut tester si n est pair : n & 1 effectue un ET logique de bit entre n et 1, mais l'opérateur relationnel == est prioritaire par rapport à &, l’expression ( n & 1 == 0 ) sera donc toujours fausse.
*Mauvais : if ( n & 1 == 0 ) ...
*Bon : if ( ( n & 1 ) == 0 ) ...