Question de cours en programation c
Résolu
Bonjour, j'ai le code suivant dans mon cours
int i = 42;
int j;
j = (i++ + 10);
// i is now 43
// j is now 52 (NOT 53)
pourquoi j n'est pas égal à 53?
int i = 42;
int j;
j = (i++ + 10);
// i is now 43
// j is now 52 (NOT 53)
pourquoi j n'est pas égal à 53?
Configuration: Windows Vista Firefox 3.5.4
3 réponses
-
ModérateurSalut,
Puisque l'incrémentation se fait après i+10
Si tu veux obtenir 53 il faut faire++i + 10
-
i++ signifie que le ++ se fait apres l'opération dans la parenthèse
Donc d'abord j = i + 10 puis i++
Si tu avais mis
j = (++i + 10);
j = 53; car dans ce cas le ++ se fait avant
EDIT : Devancé -
merciiiiiiiiiiiiii à tous c très clair