C razbiti i nastaviti

O petljama smo naučili u prethodnim vodičima. U ovom uputstvu naučit ćemo koristiti break i continue izjave uz pomoć primjera.

C prekid

Izraz break završava petlju odmah kada se naiđe. Njegova sintaksa je:

 break;

Izraz break gotovo se uvijek koristi s if… elseizrazom unutar petlje.

Kako break izjava radi?

Primjer 1: iskaz prekida

 // Program to calculate the sum of numbers (10 numbers max) // If the user enters a negative number, the loop terminates #include int main() ( int i; double number, sum = 0.0; for (i = 1; i <= 10; ++i) ( printf("Enter a n%d: ", i); scanf("%lf", &number); // if the user enters a negative number, break the loop if (number < 0.0) ( break; ) sum += number; // sum = sum + number; ) printf("Sum = %.2lf", sum); return 0; )

Izlaz

 Unesite n1: 2.4 Unesite n2: 4.5 Unesite n3: 3.4 Unesite n4: -3 Zbroj = 10.30

Ovaj program izračunava zbroj najviše 10 brojeva. Zašto najviše 10 brojeva? To je zato što ako korisnik unese negativan broj, breakizvod se izvršava. Ovo će završiti forpetlju i prikazat će se zbroj.

U C, breaktakođer se koristi s switchizjavom. O tome će biti riječi u sljedećem tutorijalu.

C nastavi

continueIzjavu preskače trenutnu iteraciju petlje i nastavlja sa sljedećom iteracijom. Njegova sintaksa je:

 continue;

continueIzjava gotovo uvijek koristi s if… elsetvrdnjom.

Kako funkcionira nastavak izjave?

Primjer 2: nastavak izjave

 // Program to calculate the sum of numbers (10 numbers max) // If the user enters a negative number, it's not added to the result #include int main() ( int i; double number, sum = 0.0; for (i = 1; i <= 10; ++i) ( printf("Enter a n%d: ", i); scanf("%lf", &number); if (number < 0.0) ( continue; ) sum += number; // sum = sum + number; ) printf("Sum = %.2lf", sum); return 0; )

Izlaz

 Unesite n1: 1.1 Unesite n2: 2.2 Unesite n3: 5.5 Unesite n4: 4.4 Unesite n5: -3.4 Unesite n6: -45.5 Unesite n7: 34.5 Unesite n8: -4.2 Unesite n9: -1000 Unesite a n10: 12 Zbroj = 59,70

U ovom programu, kada korisnik unese pozitivan broj, zbroj se izračunava pomoću sum += number;izraza.

Kada korisnik unese negativan broj, continueizvod se izvršava i negativni broj preskače iz izračuna.

Zanimljivi članci...