我是一个C语言初学者,不明白为什么我的代码下面的部分不能工作。
char yn;
printf("Play again(y/n)?\n");
while(yn!='y' && yn!='n'){
yn=getchar();
printf("Input:%c\n",yn);
if(yn!='y' && yn!='n') printf("Please put in y or n!\n");
}
首先,它从一个缓冲区或其他地方随机读取数字,但即使我输入y或n,它也保持在循环中,即使它确认yn是y或n。
使用"..."。do while
循环它更方便。
char yn;
do{
// Your play code goes here
printf("Play again(y/n)?\n");
printf("Input:%c\n",yn);
yn=getchar();
while(yn!='y' && yn!='n'){
printf("Please put in y or n!\n");
yn=getchar();
}
}while(yn=='y' || yn=='Y'); //Not need to check 'n'