随手写了一段,楼主可以随便看看
#include<stdio.h>
struct student
{
char name[20];
double grade;
int age;
};
int main()
{
struct student stu[3];
struct student *p=(struct student *)&stu[0].grade;
//stu[0].name="babyBoy";
scanf("%s,%d,%d",&stu[0].name,&stu[0].grade,&stu[0].age);
fflush(stdin);
printf("%s\n",stu[0].name);
scanf("%s,%d,%d,%s,%d,%d",&stu[1].name,&stu[1].grade,&stu[1].age);
fflush(stdin);
printf("%s\n",stu[1].name);
scanf("%s,%d,%d,%s,%d,%d",&stu[2].name,&stu[2].grade,&stu[2].age);
fflush(stdin);
printf("%s\n",stu[2].name);
printf("\n%s\n%s\n",stu[0].name,p);
//上面这句p输出的前面部分是乱码,直到遇到stu的第二个元素的第一个name成员的\0时候才结束输出
return 0;
}
运行结果:
name1,1.1,1
name2,2.1,2
name3,3.1,3
name1,1.1,1
烫烫烫烫烫烫烫烫name2,2.1,2
请按任意键继续. . .