首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于switch语句。小弟我不知道错哪了,大侠帮忙bug一下

2012-03-09 
关于switch语句。我不知道哪里错了,大侠帮忙bug一下#include stdio.hint main(){int achar bdo{printf(

关于switch语句。我不知道哪里错了,大侠帮忙bug一下
#include <stdio.h>
int main()
{
int a;
char b;
do{
printf("1.Chinese.\n");
printf("2.English.\n");
printf("your choose is:");
scanf("%d",&a);
switch(a)
{
case 1 : printf("hi!\n"); break;
case 2 : printf("hello!\n"); break;
default : printf("error!\n");
}
printf("exit:x\n");
scanf("%c",&b); //不知道为什么这一句总是不执行
}while(b!='x');
return 0;
}


[解决办法]

# include<stdio.h>
int main()
{
int a;
char b;
do{
printf("1.Chinese.\n");
printf("2.English.\n");
printf("your choose is:");
scanf("%d",&a);
switch(a)
{
case 1:printf("hi!\n"); break;
case 2:printf("hello!\n"); break;
default:printf("error!\n");
}
printf("exit:x\n");
getchar();//在这里加个getchar();就可以了!
scanf("%c",&b);//不知道为什么这一句总是不执行
}while(b!='x');
return 0;
}
因为缓冲区被上面的字符占有了,虽有这里清楚下缓冲区就可以了!

热点排行