请教上面一个C的小疑点

请问下面一个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);