为什么我这个运行是成功的呢但是我左下角交练习后显示答案错误是为什么呢哪里有问题呢
到底哪个是你的代码,都不一样啊
不需要考虑大写字母吗?
看看你的输出格式,比如说最后是不是要换行
//结构体数组和结构体指针的应用,结构体成员引用的表示方法
// Created by acer on 2020/8/30.
#include<stdio.h>
struct student{
int num;
char name[20];
char sex;
int age;
float score;
};
int main(){
// 定义结构体数组并初始化
struct student stu[3]={{11302,"wang",'F',20,483},
{11303,"Liu",'M',19,443},
};
struct student student1={11301,"fang",'M',21,485},*p,*q;
int i;
// *p指向结构体变量
p=&student1;
// 访问结构体变量
printf("%s,%c,%5.1f\n",(*p).name,p->sex,studengt.score);
q=stu; //q指向结构体数组元素
// 循环访问结构体数组的元素(下标变量)
for (i = 0; i<2 ; i++,q++) {
printf("%s,%c,%5.1f\n",q->name,q->sex,q->score);
}
return 0;
}
结果:
fang,M,485.0
wang,F,483.0
Liu,M,443.0
printf("%s,%c,%5.1f\n",(*p).name,p->sex,student.score);
由结果可见这三种表示方法含义是相同的。
成员变量引用的方式有:
容易混淆:
输入数据的时候,姓名是字符串不用加&!!!,但是年龄,分数,性别要加。
如:
scanf("%s,%c,%d",p->name,&p->sex,&p->age);