【发布时间】:2020-05-12 08:00:02
【问题描述】:
我希望程序在用户输入不是“A”或“B”的字母时立即终止。即使用户为输入 2 输入“A”或“B”,是否可以只打印输入 1 的默认大小写?我尝试了 stdlib.h 中的 exit() 函数,但我似乎无法在代码中找到可以工作的位置。我知道嵌套的 switch 语句也可以工作,但完整的程序需要 8 个输入,我必须嵌套 8 次
例如: 输入一个值:C 输入一个值:A 首次输入的字母无效!终止程序...
#include <stdio.h>
int main()
{
char input1;
printf("Enter a value: ");
scanf(" %c", &input1);
char input2;
printf("Enter a value: ");
scanf(" %c", &input 2);
char A = 'A';
char B = 'B';
switch(input1){
case 'A':
printf("Your letter is A");
break;
case 'B':
printf("Your letter is B");
break;
default:
printf("Invalid letter for first input! Terminating program...");
break;
}
switch(input2){
case 'A':
printf("First letter of the alphabet");
break;
case 'B':
printf("Second letter of the alphabet");
break;
default:
printf("Invalid letter for second input! Terminating program...")
break;
}
return 0;
}
【问题讨论】:
-
为什么将出口放在您的第一个默认情况下不起作用?如果您需要该输出,只需将其放在打印之后。或者重构您的代码以在输入时验证输入,而不是在输入之后验证。
-
我运行了代码,即使退出是第一个默认情况,它也会打印出第二种情况。分配要求我们构建程序,以便用户必须在返回之前输入所有值
-
scanf 是在回车后才触发的,没有缓冲的读取没那么容易,可以使用ncurses 或者stackoverflow.com/questions/1798511/…
标签: c