所以我已經開始學習C++,並且我已經編寫了這個簡單的程序,當用戶輸入錯誤的數字時,它給出了一個選項,然而當用戶輸入任何字符時,它給出了選項再試一次,直接退出程序爲什麼會發生這種情況? `錯誤的輸入將退出程序C++
#include<unistd.h>
#include<stdio.h>
int main(){
int a;
char b ,c;
start:
printf("INPUT ONLY NUMBER 1 : ");
scanf(" %d", &a);
if(a==1)
{
printf(" you entered correctly \n");
printf("do you want to try again? <Y> <N> \n");
scanf(" %c", &c);
if(c=='Y' ||c=='y')
{
goto start;
}
}
else {
sleep (1);
printf("wrong number , do you want to try again? <Y> <N> \n");
scanf(" %c" , &b);
}
if (b=='Y'||b=='y')
{
sleep(1);
goto start;
}
else
if(b=='n'||b=='N')
{
sleep(1);
printf("thank you and goodbye");
exit (1);
}
}
`
如果用戶輸入了錯誤的號碼,它工作正常,但只有當用戶輸入一個字符 –
退出「,所以我已經開始學習C++「 - 這看起來像C,而不是C++。當然,你選擇了正確的書嗎?無論如何,獲得一本更好的書! 'goto'有其應用,但初學者不應該從**開始! 1970年代/ 80年代早已逝去,使用結構化代碼!並正確地格式化和縮進代碼。 – Olaf
使用while循環代替goto語句 –