程序不接受第一个输入?

时间:2021-03-26 18:12:19

标签: string input fgets

我写了这段代码来输入 5 个名字,但它只是忽略了第一次迭代中的 fgets,从第二次迭代开始它就完美地工作了。为什么 ?进一步用 scanf 替换 fgets 消除了错误,为什么 fgets 会导致问题?

#include <stdio.h>
#include <string.h>
int main()
{
    char name[20][20]; int n;
    printf("enter no. of inputs");
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        printf("%d.",i);
        fgets(name[i],20,stdin);
        printf("\nname entered\n");
    }
    for(int i=0;i<n;i++)
    printf("->%s",name[i]);

    return 0;
}

0 个答案:

没有答案