【发布时间】:2021-05-19 08:54:51
【问题描述】:
我在使用while 循环时遇到了多个字符的问题。我正在编写一个代码,它将根据“y”或“n”的输入将用户引导到一个新函数。当我扫描一个字符时,它工作正常;但是,当用户输入多个字符时,while 循环会重复。
#include <stdio.h>
int main()
{
char x;
printf("type in letter n or y\n");
scanf("%c", &x);
while (x!= 'Y' && x!='N' && x!= 'n' && x!='y')
{
printf("Invalid, please type Y/N to continue: \n");
scanf(" %c", &x);
}
if (x== 'Y' || x == 'y')
{
printf("y works");
}
if (x =='N' || x =='n')
{
printf("n works");
}
}
例如,如果我输入hoyp,它会说“无效,...”两次,然后“y 有效”将写在第三行。如何修改代码,让无效的只说一次,用户必须重新输入才能让程序继续运行?
【问题讨论】:
标签: c