以 do while 迴圈結構為主,while 敘述之前門把關似乎會影響至少執行一次的問題,所以為了確保不必要的 bug ,有下列兩種方法解決:
1.將迴圈內指令在 while 前面先執行一次。
2.前面增加前置過關指令。
do {
   執行區
}while(運算式);




方法一:
執行區
while(運算式) {
   執行區
}

方法二:
前置過關指令
while(運算式) {
   執行區
}


範例:
驗證是否輸入偶數,若輸入奇數,則重新輸入

do while 語法
while 語法
do {
   scanf("%d\n",&n);
}while(n%2==1);
方法一:
scanf("%d\n",&n);
while(n%2==1) {
   scanf("%d\n",&n);
}

方法二:
n=1;//前置過關指令
while(n%2==1) {
   scanf("%d\n",&n);
}

上例若能保證第一次 n 必為奇數,則程式可以修改成
while(n%2==1) {
   scanf("%d\n",&n);
}

可以少掉前面的敘述。