for(i=0;i{
printf("请输入第%d个学生的名字\n", i);//这里不能再加1了,下面也是。
scanf("%s", &st.name);
printf("请输入第%d个学生的年龄\n", i);
scanf("%d", &st.age);
printf("请输入第%d个学生的成绩\n", i);
scanf("%f", &st.score);
}
另外,你st只是一个结构,没有数组或者指针链表,只能存储一个学生的信息。输出的时候,也只能输出同一个,也就是最后一个。
你for循环后面多打了个分号!导致循环没有作用,会在第一个for循环中将i累加到4,st一概用数组存储
/* Note:Your choice is C IDE */
# include
struct student
{
char name[50];
int age;
float score;
}st;
int main(void)
{
int i,renshu;
printf("请输入数\n");
scanf("%d", &renshu);
//struct student st;
for(i=0;i
printf("请输入第个%d名字\n", i+1);
scanf("%s",&st.name);
printf("请输入第%d年龄\n", i+1);
scanf("%d",&st.age);
printf("请输入第%d成绩\n", i+1);
scanf("%f",&st.score);
}
for(i=0;i
printf("第%d信息:%s, %d, %f",i+1, st.name, st.age, st.score);
}
return 0;
}
你看看 这个代码行吗 ?你的也应该可以啊 你就按他说的输入名字就行 一步一步下去
for循环后面的分号去掉
for(i=0;i