לולאות
do..while
זהות
במידה
רבה
ללולאות
while
,
למעט
בדיקת
הביטוי
בסוף
כל
איטרציה
במקום
ביצוע
הבדיקה
בהתחלה
.
ההבדל
העיקרי
בהתנהגות
של
לולאות
אלו
הוא
שבלולאת
do..while
,
קוד
הלולאה
ירוץ
לפחות
פעם
אחת
(
כי
התנאי
נבדק
בסוף
הריצה
)
בעוד
שבלולאת
while
רגילה
(שבה
התנאי
נבדק
בתחילת
הלולאה)
,
יתכן
מצב
בו
הקוד
לא
יורץ
בכלל
.
(אם
ערכו
ההתחלתי
של
הביטוי
שווה
ל
-
FALSE
,
הלולאה
תיפסק
מיד
.
)
ללולאות
do..while
יש
צורת
תחביר
אחת
בלבד
:
לולאה
זו
תורץ
פעם
אחת
בדיוק
,
מאחר
ומייד
אחרי
האיטרציה
הראשונה
,
ערכו
של
הביטוי
שווה
ל
-
FALSE
(
ערכו
של
$i
אינו
גדול
מ-0
)
וריצת
הלולאה
תפסק
.
תכנתי
C
מתקדמים
מכירים
את
השימושים
השונים
בלולאת
do..while
לצרכי
עצירת
הרצה
באמצע
בלוקים
של
קוד
על-ידי
שימוש
בלולאת
do..while
ושימוש
ב
פקודת
break
.
הקוד
הבא
מדגים
זאת
:
אל
דאגה
אם
נושא
זה
נראה
מסובך
ולא
מובן
.
ניתן
לכתוב
סקריפטים
חזקים
גם
ללא
שימוש
בתכונה
זו
.