C语言 滚动文本程序



这是我正在尝试编写的更大程序的一部分,但由于某种原因,我似乎被困在这一部分,我希望有人能解释为什么我会遇到这个问题。

因此,我想在这篇文章中关注的是采用一个整数,该整数指定后面将有多少个单词。然后,我想把每个单词都录下来,并立即打印出来。

这就是我所拥有的。

    int main(){
        int i;
        int numWords;
        char word[100];

        scanf("%d", &numWords);
        for(i=0;i<numWords;i++){
            gets(word);
            printf("The word is %sn", 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()不会读取它并停止。

最新更新