Partage
  • Partager sur Facebook
  • Partager sur Twitter

Incrémentation string

Sujet résolu
    22 novembre 2017 à 10:41:19

    Bonjour, 

    je ne trouve pas de réponse à ma question sur internet qui est : str[i++]; est ce la même chose que str[i]; i++; ?

    Merci de votre aide.

    • Partager sur Facebook
    • Partager sur Twitter
      22 novembre 2017 à 11:33:05

      et str[++i] est la même chose que i++;str[i]

      le problème n'est pas lié au tableaux, mais à l'opérateur ++

      • Partager sur Facebook
      • Partager sur Twitter
        22 novembre 2017 à 12:41:30

        Ça dépend aussi de l'utilisation. Si tu fais quelque chose comme ça:

        f(i, str[i]);
        ++i;

        Alors le comportement sera parfaitement déterminé, alors que pour ceci:

        f(i, str[i++]);

        On a un comportement indeterminé.

        -
        Edité par Mad scientist 22 novembre 2017 à 12:42:02

        • Partager sur Facebook
        • Partager sur Twitter
        Un vrai cours de: (C | C++ | Haskell débutant | Haskell intermédiaire | Rust).
        Anonyme
          22 novembre 2017 à 13:29:52

          @Mad scientist

          Tout à fait. Connaître les points de séquencement devient vite vital quand on veut compacter au max les instructions.
          gcc détecte ce genre de cas en affichant un warning

          operation on ‘i’ may be undefined [-Wsequence-point]
          • Partager sur Facebook
          • Partager sur Twitter
            22 novembre 2017 à 18:11:34

            Merci à vous pour ces explications.
            • Partager sur Facebook
            • Partager sur Twitter

            Incrémentation string

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown