Mamy ciąg liczb N{a0..an-1} i chcemy sprawdzić czy jest w tym ciągu jakakolwiek liczba nieparzysta. Możemy to zrobić na wiele sposobów np tak:
for (i=0; i<n && N[i]%2 ==0 ; ++i) ; //tu koniecznie średnik ";"
if (i<n) printf("Tak jest w ciągu liczba nieparzysta\n");
else printf("Nie ma takiej liczby");
Czy możemy zmniejszyć ilość sprawdzań i zapisać pętlę w taki sposób?:
for (i=0; N[i]%2 ==0 ; ++i)
Nie możemy, bo jeżeli ciąg nie zawiera takiej liczby, indeks przekroczy zakres tablicy i dostaniemy [color=#800000][b]SIGSEGV[/b][/color]
Możemy jednak "postawić wartownika" dodając na końcu ciągu dowolną liczbę nieparzystą, zabezpieczając się przed przekroczeniem zakresu. Dodatkowo trzeba zmodyfikować warunek w instrukcji if czyli:
N[n]=1; //ustawienie wartownika
for (i=0; N[i]%2 ==0 ; ++i) ; //tu koniecznie średnik ";"
if (i<n+1) printf("Tak jest w ciągu liczba nieparzysta\n");
else printf("Nie ma takiej liczby");
Jeżeli przeglądamy ciąg od końca analogicznie wstawiamy wartownika na początku ciągu. Wartownika przystosowujemy odpowiednio do naszych potrzeb. Np może to być jak u nas liczba nieparzysta, liczba parzysta, liczba ujemna, konkretna liczba itd