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

请教上面一个C的小疑点

2012-10-15 
请问下面一个C的小问题代码如下C/C++ codeint main(){char a[100]char bscanf(%s,a)printf(%s,a)b

请问下面一个C的小问题
代码如下

C/C++ code
int main(){    char a[100];    char b;    scanf("%s",a);    printf("%s",a);    b=getchar();    printf("%c",b);    getchar();}

运行时,我先输入
cccc
然后打印出cccc
然后我再输入
ccc
打印为空
我调试发现断点运行到
b=getchar();
这一行的时候,我无法向输入流输入数据,我不知道怎么回事,求高人解释

[解决办法]
。。。你第一个getchar里面得到的是回车符,当然什么也没有了~~~~也就是说你第一次输入cccc的时候就已经运行到最后一句了。。。
[解决办法]
int main()
{
char a[100];
char b;
scanf("%s",a);
printf("%s\n",a);
fflush(stdin);//这个。
b=getchar();
printf("%c",b);
getchar();
}
[解决办法]
int main()
{
char a[100];
char b;
scanf("%s",a);
printf("%s",a);
//fflush(stdin);或者再次使用一个getchar清除上次缓冲区里面的回车
getchar();
b=getchar();
printf("%c",b);
getchar();
}
[解决办法]
C/C++ code
printf(" %c",b); 

热点排行
Bad Request.