在这段代码中,scanf请求两次,我不确定是什么导致它这样做。
int t;
for(t = 0;t<5;t++)
{
//scanf requests twice for some reason
scanf("%s ",input);
fprintf(fp,"%s ", input);
printf("%d Word(s)\n", (t+2));
}
,输出是 (引号中的单词由用户输入)
"hello"
"world"
1 Word(s)
"how"
2 Word(s)
"are"
3 Word(s)
"you"
4 Word(s)
"lostword"
5 Word(s)
和
"hello world how are you "
会回复给我并保存到文件中。
答案 0 :(得分:5)
删除scanf中的空格。
变化:
scanf("%s ",input);
为:
scanf("%s",input);
由于空间的原因,scanf会一直跳过空格字符,直到它读取的内容不是空格(在读取%s
的一个字符串后)。