关于 scanf 读入数量不定的字符串,为什么要输入两次文件结束符才能结束输入
#include<stdio.h>#include<string.h>
int main()
{
char zf[1024];
while(scanf("%s",zf)!=EOF)
{
printf("%s\n",zf);
puts(zf\n);
}
return 0;
}
如果代码写成这样的话,如果要结束必须用键盘输入两次文件结束符
即使在while循环的开始加入getchar(),也是如此
而使用while(gets(zf)!=NULL)作为循环条件则不需要如此
为什么,如果是换行符的问题,为什么用getchar无法解决