程序正在跳过a,b,c或d的第二选择。它在“写回答(a / b / c / d):”之后停止。在那一刻,程序停止并且不让用户从之前提到的选项中进行选择。我如何通过一些初学者修复解决这个问题? (我的编程只有2个星期)谢谢。
这是源代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char choice;
char choice1;
printf("Welcome.\n");
printf("-------------------\n");
printf("Who created Microsoft?\n");
printf("a) Steve Jobs\n");
printf("b) Tim Cook\n");
printf("c) Bill Gates\n");
printf("d) Mark Zuckerberg\n");
printf("\nWrite answer (a/b/c/d): ");
scanf("%c",&choice);
switch(choice)
{
case 'a': printf("\nIncorrect.\n");
break;
case 'b': printf("Incorrect.\n");
break;
case 'c': printf("Correct.\n");
break;
case 'd': printf("Incorrect.\n");
break;
}
printf("Who owns MySQL?\n");
printf("a) Microsoft\n");
printf("b) Apple\n");
printf("c) Google\n");
printf("d) Oracle\n");
printf("\nWrite answer: (a/b/c/d): ");
scanf("%c",&choice1);
switch(choice1)
{
case 'a': printf("Incorrect.\n");
break;
case 'b': printf("Incorrect.\n");
break;
case 'c': printf("Incorrect.\n");
break;
case 'd': printf("Correct.\n");
break;
}
return(EXIT_SUCCESS);
}
能够做到这一点的人也可以解释他为什么选择这样的解决方案吗?提前谢谢。