我写了这段代码来输入 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;
}