Maison > Article > développement back-end > Pourquoi la sortie de plusieurs incréments de publication dans une expression C est-elle imprévisible ?
Comportement de l'incrément de publication en C
En C , l'incrément de publication (par exemple, i ) incrémente une variable mais renvoie la valeur d'origine. Comprendre son comportement est crucial dans les expressions complexes.
Considérez le code suivant :
<code class="cpp">int i = 5; cout << i++ << i-- << ++i << --i << i << endl;</code>
Cette instruction évalue l'expression i i-- i --i i avant de générer le résultat. Cependant, l'ordre d'évaluation n'est pas défini, ce qui conduit à un résultat imprévisible (par exemple, "45555").
Décomposons la règle des points de séquence :
Exemple :
<code class="cpp">int x = 20, y = 35; x = y++ + y + x++ + y++;</code>
Cette expression est évaluée dans l'ordre suivant :
Par conséquent, la valeur finale de x est 126 (35 36 20 21), tandis que y est 37.
Conclusion :
L'incrémentation post en C peut conduire à un comportement indéfini lorsqu'il est utilisé dans des expressions non séquencées. Il est essentiel de comprendre les points de séquence et d'éviter les effets secondaires sur la même variable dans un contexte non séquencé.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!