Conditions en langage c

commandant roxy Messages postés 18 Statut Membre -  
fiddy Messages postés 11653 Statut Contributeur -
Bonjour,
moi c'est roxy alias biroue
je voudrais votre jugement sur une condition qui me tracasse du point de vue syntaxique
if(strcmp(sexe,"masculin")==0 && age<14)
l'ecriture de cette est-elle juste?


A voir également:

1 réponse

dualife_ Messages postés 165 Statut Membre 45
 
Salut,
ton écriture est syntaxiquement juste mais attention!
le comportement pourrai changer en fonction des compilateurs!

dans ce genre de cas les parenthèses sont fortement recommandées!
0
Utilisateur anonyme
 
Bonjour

Les précédences des opérateurs font partie des spécifications du langage, il n'y a aucune raison qu'elles dépendent du compilateur.
Les parenthèses gardent quand même un intérêt, c'est de lever toute ambiguïté pour les lecteurs qui, comme moi, ne connaissent pas toutes les précédences par coeur.
0
fiddy Messages postés 11653 Statut Contributeur 1 847
 
Je confirme. Ce code est totalement portable, les parenthèses sont donc totalement superflues. Pour ma part (et cela n'engage que moi), je préfère l'écriture sans les parenthèses :-).
Par ailleurs, il serait plus judicieux d'écrire : if(age<14 && strcmp(sexe,"masculin")==0)
0