【发布时间】:2014-04-06 16:07:14
【问题描述】:
我正在尝试学习结构,我正在使用此代码
#include <stdio.h>
struct elements
{
char name[50];
int semester;
char am[15];
}student[100];
void read_struct(struct elements p[]);
int i=0;
main()
{
for (i=0;i<2;i++)
{
read_struct(student);
}
for (i=0;i<2;i++)
{ printf("%d\n",i);
printf("%s\n",student[i].name);
printf("%s\n",student[i].am);
printf("%d\n",student[i].semester);
}
system("pause");
}
void read_struct(struct elements p[])
{
gets(student[i].name);
gets(student[i].am);
scanf("%d\n",&student[i].semester);
}
我面临以下问题:
在第二次迭代中,当我输入变量student[1].semester 的值时,程序不会打印我输入的内容,但它会等待我输入另一个数字,然后按回车键然后打印。我在每次gets和scanf之后都尝试了fflush(stdin),但我遇到了同样的问题。
【问题讨论】:
-
缩进已修复。现在为什么
p没有被用于read_struct,而student甚至存在于这段代码的any 中。 发布真实代码.