Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

Vous n'avez pas encore de compte Developpez.com ? L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Developpez.com

C

Choisissez la catégorie, puis la rubrique :

next up previous contents index
Next: Erreurs avec les macros Up: Le bêtisier Previous: Le bêtisier

Sous-sections

Erreur avec les opérateurs

Erreur sur une comparaison



Ce que voulait le programmeur




Comparer a et b




Ce qu'il aurait dû écrire




if (a == b)





Ce qu'il a écrit




if (a = b)





Ce qu'il a obtenu




une affectation de b à a, suivie d'une comparaison à 0 de la valeur affectée.


 

Comment est ce possible ?

L'affectation est un opérateur et non pas une instruction.

Erreur sur l'affectation

C'est le pendant de l'erreur précédente.



Ce que voulait le programmeur




Affecter b à a




Ce qu'il aurait du écrire




a = b;





Ce qu'il a écrit




a == b;





Ce qu'il a obtenu




La comparaison de a à b, suivie de l'inutilisation du résultat.


 

Comment est ce possible ?

Une dérivation possible pour instruction est :
instruction :
$\Rightarrow$ expressionoption ;

Pour que cela ait un sens, il faut que l'expression réalise un effet de bord, mais rien ne l'impose dans la définition du langage.


next up previous contents index
Next: Erreurs avec les macros Up: Le bêtisier Previous: Le bêtisier
Bernard Cassagne
1998-12-09
Contacter le responsable de la rubrique C

Partenaire : Hébergement Web