Langage C : Interprétation du flux d'exécution des boucles for imbriquées

 Afin de mieux comprendre le flux d'exécution des boucles for imbriquées

Tout d'abord, nous devons savoir que l'imbrication de boucles for signifie généralement que la couche externe s'exécute une fois et que la couche interne exécute tout

Nous utilisons le code suivant pour interpréter

#include<stdio.h> 
int main(){ 
	for(int i=0;i<5;i++){
		i++;
		for(int j=0;j<3;j++){
			printf("%d",j);
			if(i>3)break;
		}
	} 
	return 0;
} 

Entrez la boucle externe i=0 i++

 Entrez dans la boucle interne j=0, sortie 0 , puis i=1, puis continuez vers la sortie j=1, j=2   , et enfin i=1, n'exécutez pas break, sautez hors de la boucle externe

Retour à la boucle externe à ce moment i=1  Remarque : Ici, le i++ de la boucle externe doit être exécuté en premier

Exécutez à nouveau i<5, à ce moment i=2 puis exécutez i++ dans la quatrième ligne

Entrez dans la boucle interne  j=0, sortie 0 , puis i=3, puis continuez vers la sortie j=1, j=2   , et enfin i=3, n'exécutez pas break, sautez hors de la boucle externe

Retour à la boucle externe à ce moment i=3   Remarque : Ici, le i++ de la boucle externe doit être exécuté en premier

Exécutez à nouveau i<5, à ce moment i=4 puis exécutez i++ dans la quatrième ligne

Entrez dans la boucle interne  j=0, sortie 0 , puis i=5 et continuez à exécuter if(i>3)break ; sortez de la boucle externe

Retour à la boucle externe à ce moment i=5   Remarque : Ici, le i++ de la boucle externe doit être exécuté en premier

Exécutez ensuite i<5 puis i=6 pour sortir de la boucle externe (la boucle externe se termine, la boucle interne ne doit pas être exécutée)

La sortie finale est 012 012 0

Si vous avez une certaine base, vous pouvez voir le schéma de raisonnement suivant

 

Je suppose que tu aimes

Origine blog.csdn.net/weixin_63987141/article/details/129140940
conseillé
Classement