/ / Deklaracja przerw w pętlach - c

Przerwa w pętli - c

Co się łamie; zrobić w poniższy kod? Zasadniczo muszę wyjść z wewnętrznej pętli, ale kontynuować zewnętrzną pętlę

for(i=0;i<n;i++)
{
for(j=i;j<n;j++)
{
if(condition)
{
count++;
break;
}
}

}

Odpowiedzi:

4 dla odpowiedzi № 1

The break w twoim kodzie wyrwie się z pętli wewnętrznej. Następnie zewnętrzna pętla będzie kontynuowana (jeśli warunek w niej jest prawdziwy), tak jak chcesz. Zauważ, że break nie ma wpływu na ifs. Wyrwie się z pętli jak for,while itd. i kiedy jest umieszczony w pętlach zagnieżdżonych, jak ten, który masz, wyrwie się tylko z wewnętrznej pętli.


0 dla odpowiedzi nr 2

Jak tylko program trafi do przerwa komunikat. To wychodzi z wnętrza dla pętli i controll sięgają do końca wewnętrzna pętla

Oto przykład

for(i=0;i<3;i++)
{
for(j=1;j<3;j++)
{
if(i == j)
{
break;
}
printf("Inside the inner for loop t i is : %d t j is %d n",i,j);
}

printf("Outside of the for loop t i is : %d t j is %d n",i,j);
}

Wynik to:

Inside the inner for loop    i is : 0    j is 1
Inside the inner for loop    i is : 0    j is 2
Outside of the for loop      i is : 0    j is 3
Outside of the for loop      i is : 1    j is 1
Inside the inner for loop    i is : 2    j is 1
Outside of the for loop      i is : 2    j is 2