台湾最新电视剧 狼:scanf和gets的问题

来源:百度文库 编辑:高校问答 时间:2024/05/09 06:34:42
#include<stdio.h>
main()
{
int len;
char s[23];

printf("input len:\n");
scanf("%d",&len);

printf("input datas:\n");
gets(s);
printf("output datas:\n");
puts(s);
getch();

}
为什么把gets()放在scanf()后就不会等待输入而直接往后运行
把gets()放scanf()前面就能等待输入
谢谢各位大虾赐教
在scanf和gets中间加上fflush(stdin)就可以了
为什么???

先scanf的话,stdin的缓冲区里保留了回车符号
而gets得到了这个回车符,就认为你已经输入了,于是在你看来,就跳过了

编译顺序
根据你的经验来写