滚动文本程序

时间:2016-02-29 08:43:35

标签: c string gets

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

所以我想在这篇文章中关注的是接受一个整数,它指定将跟随多少个单词。然后,我想接受每个单词并立即打印出来。

这就是我所拥有的。

    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

就像我说的,这只是我需要做的事情的一部分,但搞清楚这一点将有助于我完成剩下的工作。

1 个答案:

答案 0 :(得分:0)

更改

scanf("%d", &numWords);

fgets(word, sizeof(word), stdin);
sscanf(word, "%d", &numWords);

这样fgets()将在数字后读取换行符,第一个gets()将无法读取并停止。