请教上面一个C的小疑点
请问下面一个C的小问题代码如下C/C++ codeint main(){char a[100]char bscanf(%s,a)printf(%s,a)b
请问下面一个C的小问题
代码如下
C/C++ codeint 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++ codeprintf(" %c",b);