这是我正在尝试编写的一个更大程序的一部分,但由于某种原因我似乎陷入了这部分,我希望有人能解释为什么我遇到这个问题。
所以我在这篇文章中想要关注的是接受一个整数,它指定后面有多少个单词。然后,我想接收每个单词并立即打印出来。
这就是我所拥有的。
int main(){
int i;
int numWords;
char word[100];
scanf("%d", &numWords);
for(i=0;i<numWords;i++){
gets(word);
printf("The word is %s\n", word);
}
return 0;
}
我有一个输入文件,内容如下:
5
Hello
world
this
is
happening
这就是正在输出的内容
The word is
The word is Hello
The word is world
The word is this
The word is is
就像我说的,这只是我需要做的一部分,但弄清楚这一点将帮助我完成剩下的事情。
最佳答案
改变
scanf("%d", &numWords);
至
fgets(word, sizeof(word), stdin);
sscanf(word, "%d", &numWords);
这样 fgets()
将读取数字后的换行符,而第一个 gets()
不会读取它并停止。
关于c - 滚动文本程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35695126/