以 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);
}
可以少掉前面的敘述。