C语言编程中的出现的奇怪问题,很简单的。

2025-04-13 18:34:37
推荐回答(4个)
回答1:

 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只是一个结构,没有数组或者指针链表,只能存储一个学生的信息。输出的时候,也只能输出同一个,也就是最后一个。

回答2:

你for循环后面多打了个分号!导致循环没有作用,会在第一个for循环中将i累加到4,st一概用数组存储

回答3:

/* 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;

}

你看看 这个代码行吗 ?你的也应该可以啊 你就按他说的输入名字就行 一步一步下去

回答4:

for循环后面的分号去掉
for(i=0;i