Bonjour,
Dans le cours sur le langage C, au TP sur le jour de la semaine, j’ai écrit la ligne suivante :
leap_year ? no_days -= 2 : no_days -= 3;
(leap_year
est un booléen et no_days
un unsigned long
.)
Cette ligne provoque l’affichage d’une erreur dans VSCodium sur la variable leap_year
:
l’expression doit être une valeur modifiable
et lorsque je lance la compilation avec zcc
j’obtiens le message d’erreur :
error: lvalue required as left operand of assignment
Cependant, ces messages d’erreur disparaissent si j’ajoute des parenthèses autour de l’expression après :
:
leap_year ? no_days -= 2 : (no_days -= 3);
Je souhaiterais simplement comprendre la cause des erreurs et ce qui provoque leur disparition si j’ajoute des parenthèses à la troisième expression.
+0
-0