主题:结构体指针问题请教
下面是我写的一个输出五个学生信息的结构体,用指针调用为什么输出的name不是字符串而是单个字符??我的确用的是%s标记的啊,请大家赐教,谢谢。我控制输出列的语句用[color=FF0000]红色[/color]标出
#include<stdio.h>
struct student
{
int num;
char name[20];
float score[3];
};
void print(struct student stu[])
{ for(int j=0;j<5;j++)
[code=c]
[code=c]
printf("\n学号:%d\n姓名:%s\n三门课成绩%5.1f,%5.1f,%5.1f\n",stu[j].num,
stu[j].name,stu[j].score[0],stu[j].score[1],stu[j].score[2]);
[/code]
[/code]}
void main()
{
struct student stu[5],*p=stu;
int i;
printf("请分别输入五个学生的学号、姓名、三门课成绩\n");
for(i=0;i<5;i++)
scanf("%d%S%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1
],&stu[i].score[2]);
print(p);
}
#include<stdio.h>
struct student
{
int num;
char name[20];
float score[3];
};
void print(struct student stu[])
{ for(int j=0;j<5;j++)
[code=c]
[code=c]
printf("\n学号:%d\n姓名:%s\n三门课成绩%5.1f,%5.1f,%5.1f\n",stu[j].num,
stu[j].name,stu[j].score[0],stu[j].score[1],stu[j].score[2]);
[/code]
[/code]}
void main()
{
struct student stu[5],*p=stu;
int i;
printf("请分别输入五个学生的学号、姓名、三门课成绩\n");
for(i=0;i<5;i++)
scanf("%d%S%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1
],&stu[i].score[2]);
print(p);
}