Maison >développement back-end >C++ >Comment les opérateurs de pré-incrémentation et de post-incrémentation affectent-ils les valeurs des variables dans une boucle while ?

Comment les opérateurs de pré-incrémentation et de post-incrémentation affectent-ils les valeurs des variables dans une boucle while ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-30 20:30:02784parcourir

 How do pre-increment and post-increment operators affect variable values within a while loop?

Interprétation du pré-incrémentation et du post-incrémentation dans les constructions en boucle

En explorant les nuances des constructions en boucle, un programmeur peut rencontrer des questions concernant la différences entre les opérations de pré-incrémentation et de post-incrémentation. Cet article vise à éclairer cette distinction, avec un accent particulier sur l'impact au sein des boucles while.

Pré-incrémentation vs post-incrémentation

Post- Opérateur d'incrémentation (i) : La variable i est d'abord utilisée dans la condition ou le corps de la boucle, puis incrémentée de un. Cela signifie que la valeur actuelle de i est utilisée dans l'opération avant d'être modifiée.

Opérateur de pré-incrémentation (i): La variable i est incrémentée de un avant d'être utilisée dans la boucle état ou corps. En tant que telle, la valeur utilisée dans l'opération est la valeur incrémentée.

Impact sur les valeurs des variables dans les boucles While

Considérez l'exemple suivant de la boucle while :

while (true) {
    //...
    i++;
    int j = i;
}

Dans ce cas, l'utilisation du post-incrément (i ) garantit que la variable j contiendra l'"ancienne" valeur de i à la fin de chaque itération de boucle. En effet, i est incrémenté après son utilisation dans le corps de la boucle.

Exemple de différences de valeurs

Pour illustrer la distinction, analysons le code suivant :

int j = i++; // i will contain i_old + 1, j will contain i_old.

Ici, i est post-incrémenté, donc la valeur de j sera définie sur la valeur d'origine de i avant que l'incrément ne soit appliqué. Comparez cela avec :

int j = ++i; // i and j will both contain i_old + 1.

Dans ce cas, i est pré-incrémenté, et par conséquent i et j contiendront tous deux la valeur incrémentée.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn