int main()
{
char str[30];
scanf("%s", &str);//一次只能输入一个单词
//printf("%s", str);//对有空格的后续不展示
puts(str);//对有空格的后续不展示
}-------注意点
缓冲区为空时scanf才会发生堵塞,即黑窗口卡住。在本题代码中读取%d后,还有一个换行
\n(也为字符),缓冲区只读取字符。所以当读取到%c时,把换行读取了,会发生堵塞
int i;
char c;
char d;
scanf("%d", &i);
printf("i=%d\n", i);
scanf("%c", &c);
printf("c=%c\n", c); //10对应的字符为enter即\n;如果输入10,则直接将\n读进去,会停止但是在读取整形,字符串,浮点型会忽略换行/n和空格