gpt4 book ai didi

c - 如果给出了一些无效输入,如何在 switch-case 场景中重复 scanf ?

转载 作者:行者123 更新时间:2023-11-30 18:40:58 25 4
gpt4 key购买 nike

我有以下代码,我希望用户提供“s”或“f”(不区分大小写)作为输入:

/* ... snip ... */
char acc_type;
printf("\n\nENTER HERE\t : ");
scanf("%c",&acc_type);

switch (acc_type)
{
case 's':
case 'S':
printf("\n SAVING ACCOUNT");
break;

case 'f':
case 'F':
printf("\n FIXED ACCOUNT");
break;

default:
printf("\n INVALID INPUT!!! TRY AGAIN");
}
/* ... snip ... */

但是,默认操作不允许我重复整个 switch 语句。如果输入无效,我如何在他的场景中再次请求输入?

最佳答案

本质上,您需要一个循环(以伪代码形式):

good_input = 0;

while(good_input == 0) {
... prompt for input ...
if (input == good) {
good_input = 1;
}
}

在输入有效内容之前,good_input 保持为 0,并且 while() 循环继续提示输入。一旦输入了一些好的内容,该标志就会发生变化,并且代码会继续到下一部分。

关于c - 如果给出了一些无效输入,如何在 switch-case 场景中重复 scanf ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24039926/

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