这个程序为什么执行起来有问题

来源:百度知道 编辑:UC知道 时间:2024/05/11 05:47:20
#include <stdio.h>
main()
{ char a,b,c,d;
int score;
score=0;
printf("测测你的智商:\n");
printf("1.麒麟在冰里面变成了什么?\n");
printf("A:白痴\nB:冰淇淋\n");
a=getchar();
if (a=='A')
printf("可惜啊,白痴传染到你了!");
else
{printf ("还行。");
score=score+25;
}

printf("\n2.小白加小白等于什么?\n");
printf("A:大白\nB:小白兔\n");
b=getchar();
if (b=='A')
printf("怎么还不转弯呢??");
else
{printf("有点脑子");
score=score+25;
}

printf("\n3.赛跑比赛你超过第二你是第几?\n");
printf("A:第二\nB:第一\n");
c=getchar();
if(c=='A')
{printf("不错,脑子转的很快!");
score=score+25;
}
else
printf("答不上来正常");

printf("\n4.赛跑比赛你超过到数第一你是第

在两个getchar();函数调用之间加上fflush(stdin); 来清空输入缓冲区,后者再加一个getchar()来把回车读掉,改完后的

=======================
#include <stdio.h>
main()
{ char a,b,c,d;
int score;
score=0;
printf("测测你的智商:\n");
printf("1.麒麟在冰里面变成了什么?\n");
printf("A:白痴\nB:冰淇淋\n");
a=getchar();
if (a=='A')
printf("可惜啊,白痴传染到你了!");
else
{printf ("还行。");
score=score+25;
}
fflush(stdin);

printf("\n2.小白加小白等于什么?\n");
printf("A:大白\nB:小白兔\n");
b=getchar();
if (b=='A')
printf("怎么还不转弯呢??");
else
{printf("有点脑子");
score=score+25;
}
fflush(stdin);

printf("\n3.赛跑比赛你超过第二你是第几?\n");
printf("A:第二\nB:第一\n");
c=getchar();
if(c=='A')
{printf("不错,脑子转的很快!")