Standart C Programlama Dili


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--;
}