2.8. continue
Deyimi
continue
deyimi
sadece bir döngünün gövdesi içinde, yani while
,
do
veya for
’un tekrarlanan
deyiminde, geçerlidir. Bu deyim yürütüldüğünde, döngü gövdesinin içindeki geri
kalan deyimler atlanır ve hemen döngünün devamlılık testine geçilir.
Örneğin,
for (a=10; a>0; a--) { b = -a; if (b==-5) continue; printf("%d sayisinin olumsuzu %d sayisidir.\n", a, b); }
deyiminde (5
hariç)
10
’dan 1
’e kadar bütün
tamsayılar, olumsuzları ile birlikte, yazılırlar. Diğer bir örnek
olarak,
a = 0; while (a<100) { a++; if (a%4) continue; printf("%d\n", a); }
deyimi 100
’e kadar
4
’ün katlarını görüntüler.
continue
, kontrolü her
zaman içinde kaldığı en küçük döngünün sonuna aktarır. Yukarıdaki gibi birçok
durumda, if
’teki test koşulunu
ters çevirerek ve continue
yerine
döngüde geri kalan deyimleri bir blok içine koyarak
continue
’dan kurtulabiliriz.
Önceki kısımda, for
deyiminin
while
deyimi şeklindeki yazımını anımsayın. Bu kural,
for
’un tekrarlanan deyiminde bir
continue
olduğu zaman geçerli olmaz, çünkü
ifade_3 her yinelemenin sonunda baştan hesaplanır. Böylece, bu kısımda
verilen for
deyiminin
while
’la yazılmış eşdeğeri şöyledir:
a=10; while (a>0) { b=-a; if (b==-5) { a--; continue; } printf("%d sayisinin olumsuzu %d sayisidir.\n", a, b); a--; }