1 #include<stdio.h>
2 #include<string.h>
3 #include<stdlib.h>
4
5
6 int main()
7
8 {
9 int a = 0;
10
11 char buf[48] = {0};
12 printf("输入一个整数:");
13 scanf("%d", &a);
14 fflush(stdin);
15 printf("输入一个字符串:");
16 gets(buf);
17 printf("buf = %s\n", buf);
18
19 return 0;
20 }
程序如上,在终端运行结果如下:
[hao@Roc 桌面]$ ./a.out
输入一个整数:5
输入一个字符串:buf =
[hao@Roc 桌面]$
为什么gets(buf)中接收的是一个空格或者是回车符,前面的fflush(stdin);不是清空了输入缓冲区了吗?
慕的地8271018
守候你守候我