作者qoo200033 (好時光)
看板C_and_CPP
標題[問題] 關於goto問題
時間Mon Mar 21 15:37:27 2011
關於C語言goto的問題
問題:驗證輸入密碼(四位整數),輸入三次不正確便出現錯誤訊息
程式碼:
#include<stdio.h>
#include<stdlib.h>
int main(void){
int a,b,c,d;
int flag=0;
do{
printf("input password\n");
scanf("%d %d %d %d",&a,&b,&c,&d);
flag=flag+1;
if(flag==3)
goto endloop;
}while(a!=5 || b!=4 || c!=3 || d!=2);
printf("congratulations\n");
endloop:printf("fail\n");
return 0;
}
但是即使輸入正確的密碼還是會出現fail的狀態
請問個各位高手請問該如何改善程式呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 120.101.8.92
→ james732:簡單解:printf("congratulations\n");後再接個return 0; 03/21 15:45
→ drumstick:問題是第三次輸入正確的passwd 也是會fail馬? 03/21 16:07
推 gozha:這跟switch case 沒加 break 差不多吧 03/21 16:34
→ yauhh:因為成功之後congratulations下一行仍然是印fail啊 03/21 21:31