我是 C 编程新手,当我完成 C 语言类(class)的作业时,我遇到了一个问题......
int main() {
char one, ona, onb;
/*code for choices (a), (b), and (c) here*/
scanf ("%c", &one);
switch (one) {
case 'a':
/*code for choices (d), and (e) here*/
scanf ("%c", &ona);
switch (ona) {
case 'd':
printf ("end");
break;
case 'e':
printf ("continue");
break;
}
break;
case 'b':
/*code for case 'b' here*/
break;
case 'c':
/*code for case 'c' here*/
break;
}
system ("pause > nul");
getch ();
return 0;
}
当我编译和运行控制台应用程序时,我的嵌套开关命令(ona 和 onb 下的命令)不起作用?
我已经检查了所有的中断;命令都在那里?我有什么遗漏/做错了吗?
我尝试阅读有关嵌套开关的其他类似问题,但是,我还没有找到可以解决我的问题的问题...
我在多个 printf 语句后使用 system ("pasue > nul") 是否有助于找到答案? (另外,我正在使用 dev-c++,因为它是我们的教授告诉我们使用的推荐应用程序)
我希望有人能够找到我编码错误的内容;;提前非常感谢! :)
最佳答案
您可能正在输入类似“a scanf
读取 Enter 键。如果您编写代码来读取字符,则必须输入字符。如果您要输入行,请编写代码来读取行。
关于c - 嵌套开关: why does the second switch command not accept an input?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33478027/