滚动文本程序

Scrolling Text program

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

所以我想在此 post 中重点关注的是接受一个整数,该整数指定后面有多少个单词。然后,我想把每个单词都读进去,并立即打印出来。

这就是我的。

    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() 不会读取它并停止。