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. |
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. |
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.