怎么在c语言中设置一个语句,使输入y/Y后继续,n/N后结束程序

前面再加一个printf("Continue or not?(Y/N)")

//2016.06.24 自用 by Wang Z.P.
//Start of the Y/N
//可用作任何文件,任何平台,不需要额外的库文件,所需变量为 char exitInput; char BUF; 可以排除非法输入,诸如非法长度,输入回车等。读取用的是getchar(),的确麻烦很多,但是操作起来要比scanf思路清晰一点。
char exitInput;
char BUF;
//变量申明尽量放在函数开头
while(1){
    while((BUF = getchar()) != '\n'){
        while((BUF = getchar()) != '\n' && BUF != EOF);
        printf("\npress Y to Continue, N to Exit: ");//非法长度
        exitInput = getchar();
        //添加这段的理由在于,检测到输入回车时,直接提示"press..."
        while(exitInput == '\n'){
            printf("\npress Y to Continue, N to Exit: ");//输入回车
            exitInput = getchar();
        }
        //printf("2.【%c】\n",exitInput);//调试
    }
    //如果不是YyNn就循环
    if(exitInput != 'N' && exitInput != 'n' && exitInput != 'Y' && exitInput != 'y'){
        printf("\npress Y to Continue, N to Exit: ");//非法字符
        exitInput = getchar();
        //添加这段的理由在于,检测到输入回车时,直接提示"press..."
        while(exitInput == '\n'){
            printf("\npress Y to Continue, N to Exit: ");//输入回车
            exitInput = getchar();
        }
        //printf("4.【%c】\n",exitInput);//调试
    } else {
        break;
    }
        //printf("5.【%c】\n",exitInput);//调试
}
if (exitInput == 'N' || exitInput == 'n'){
    break;
}
// End of the Y/N

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-29
printf("Continue or not?(Y/N)")j=getchar();if(j=='Y'||j=='y') goto TAB; else exit(0); -------------------你要求的如果是控制台程序、那么就要用到goto!
第2个回答  2013-10-29
char ch[100];printf("Continue or not?(Y/N)");gets(ch);if (*ch == 'N') exit(0); //go on......
第3个回答  2020-05-11

while
循环,读输入字符,然后判断。伪码如下:
while
(true)
{

ch
=
输入的字符

如果
ch
是n/n:

break

do
your
things
}
相似回答