【发布时间】:2020-03-25 17:35:57
【问题描述】:
如果用户输入了无效的输入,程序将再次提问,直到用户输入有效的输入。然而,下面的代码执行了它,它执行了两次命令:
void error_checking(){
char input;
printf("Enter letters from a to e");
scanf("%c", &input);
if((input<102) || (input>96)){
printf("Valid input");
} else {
error_checking():
}
int main(){
error_checking();
}
【问题讨论】:
-
看看你的 OR 逻辑
-
input>96 && input
-
旁注:'a' 比 int 常量更容易阅读
-
您也可以从标题中删除 SHOUTING
标签: c error-handling