Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys

10.14 Ikuinen silmukka

Usein silmukat lipsahtavat tahottomasti sellaisiksi, ettei niistä koskaan päästä ulos. Ikuisen silmukan huomaa heti esimerkiksi siitä, ettei silmukan rungossa ole yhtään lausetta joka muuttaa silmukan ehdon totuusarvoa.

Joskus kuitenkin C- kielessä tehdään tarkoituksella "ikuisia" - silmukoita:

	for (;;) {
	  ...
	  if (lopetus_ehto) break;
	  ...
	} 
	
	while (1) {
	  ...
	  if (lopetus_ehto) break;
	  ...
	} 
	
	do {
	  ...
	  if (lopetus_ehto) break;
	  ...
	} while (1); 

Näissä kahdessa ensimmäisessä korostuu silmukan ikuisuus. Viimeinen ei ole hyvä vaihtoehto.

Tällaiset ikuiset silmukat ovat hyväksyttävissä silloin, kun silmukan lopetusehto on luonnollisesti keskellä silmukkaa. Usein kuitenkin lauseiden uudelleen järjestelyllä lopetusehto voidaan sijoittaa silmukan alkuun tai loppuun, jolloin tavallinen while- , do- while - tai for - silmukka kelpaa.


Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys