Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
FORUMS C FAQs C TUTORIELS C LIVRES C COMPILATEURS C SOURCES GTK+
next up previous contents index
Next: Erreur avec l'instruction switch Up: Le bêtisier Previous: Erreurs avec les commentaires

Erreurs avec les priorités des opérateurs

Les priorités des opérateurs sont parfois surprenantes. Les cas les plus gênants sont les suivants :
  • La priorité des opérateurs bit à bit est inférieure à celle des opérateurs de comparaison.
    Le programmeur a écrit il désirait il a obtenu
    x & 0xff == 0xac (x & 0xff) == 0xac x & (0xff == 0xac)

  • La priorité des opérateurs de décalage est inférieure à celle des opérateurs arithmétiques.
    Le programmeur a écrit il désirait il a obtenu
    x << 4 + 0xf (x << 4) + 0xf x << (4 + 0xf)

  • La priorité de l'opérateur d'affectation est inférieure à celle des opérateurs de comparaison. Dans la séquence ci-dessous, très souvent utilisée, toutes les parenthèses sont nécessaire :
    while ((c = getchar()) != EOF)
       {
       ...
       }
    



Bernard Cassagne
1998-12-09
Responsable bénévole de la rubrique C : Arnaud Feltz (buchs) - Contacter par EMail :
Vos questions techniques : forum d'entraide C - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.