Instrukcja skoku: Różnice pomiędzy wersjami

[wersja nieprzejrzana][wersja nieprzejrzana]
Usunięta treść Dodana treść
m poprawa linków
przykład za stosowaniem GOTO
Linia 25:
 
Wynikiem działania obu powyższych programów jest wydrukowanie napisu "Ala ma kota", jednak drugi program jest o wiele prostszy do zrozumienia, napisania, zdebugowania i utrzymywania od pierwszego.
 
Jak jest powiedziane stosowanie instrukcji GOTO ,,może zaciemniać program''. Nie należy na siłę unikać tej konstrukcji językowej. Jej zastosowanie może ułatwić zrozumienie programu.
 
Jako przykład weźmy sytuację, gdzie zachodzi potrzeba opuszczenia podwójnej pętli WHILE (pętla zagnieżdżona w pętli). (Przypominam, że w [[C (język programowania)|C]] instrukcja BREAK powoduje opuszczenie tylko jednej pętli)
<!-- Przykład równie bzdurny jak poprzedni --><pre>
int i = 0;
while(i&lt;30)
{
while(i%10&lt;9)
{
if(i==15)
goto lab;
printf("%d\n",++i);
}
++i;
++i;
}
lab:
printf("koniec\n\n");
</pre>
 
Przedstawiony problem można rozwiać w inny sposób, np: ponownie sprawdzając warunek stopu (i tak przez 30 kolejnych pętli) lub tworząc funkcję dla tego fragmentu kodu i zastosowaniu instrukcji RETURN, lecz nie zawsze istnieje proste rozwiązanie...
 
= Jak można sterować przepływem kontroli =