gpt4 book ai didi

c - 在 C 中只打印一次

转载 作者:行者123 更新时间:2023-12-02 09:23:34 24 4
gpt4 key购买 nike

多次输入错误如何只打印一次语句:例如:if key in kkk, only 将打印一条语句而不是下面的示例。示例输出:

你想再试一次吗(键入 Y 继续 Q 退出:kkk

错误:无效选择

是否要再试一次(键入 Y 继续 Q 退出:错误:选择无效

是否要再试一次(键入 Y 继续 Q 退出:错误:选择无效

你想再试一次吗(键入 Y 继续 Q 退出:

valid=0;
while (valid==0)
{
printf("\nDo you wish to try again (Type Y to continue Q to quit:");
// print statement request for input
scanf(" %c", &choice); // get user input
choice = toupper(choice);
if((choice == 'Y') || (choice == 'Q'))
valid= 1;
else
printf("Error: Invalid choice\n"); // statement
}

最佳答案

您的 scanf 当前正在查找单个字符 (%c),因此当您输入“kkk”并按回车键时,它会收到四次输入:“k”, 'k'、'k' 和 '\n'

改为使用 %s,然后只检查您获得的字符串的第一个字符。

或者如评论中所述,使用fgets获取字符串并按上述方式处理。

关于c - 在 C 中只打印一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39876038/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com