Question de cours en programation c

Résolu
ENITIEN -  
 ENITIEN -
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?
Configuration: Windows Vista
Firefox 3.5.4

3 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Puisque l'incrémentation se fait après i+10

    Si tu veux obtenir 53 il faut faire
    ++i + 10
    0
  2. Pilow Messages postés 410 Statut Membre 71
     
    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é
    0
  3. ENITIEN
     
    merciiiiiiiiiiiiii à tous c très clair
    0