Conditions en langage c

commandant roxy Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
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 153 Date d'inscription   Statut Membre Dernière intervention   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 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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