z总的来说:
->是指针指向其成员的运算符 .是结构体的成员运算符 如:struct A { int a; int b; }; A *point = malloc(sizeof(struct A)); point->a = 1; A object; object.a = 1;
以下是我写的程序:
(这是对的):
#include<stdio.h> typedef struct Student { int num; char name[20]; int score; } STU; int main() { int sum=0,max=0; STU stu[3]; for(int i=0;i<3;i++) { scanf("%d",&stu[i].num); scanf("%s",&stu[i].name); scanf("%d",&stu[i].score); } for(int i=0;i<3;i++) { if(stu[i].score>stu[max].score) max=i; sum+=stu[i].score; } printf("The average score=%.2f\nThe student who has the highest score is:\n%d\t%s\t%d\n",(double)sum/3.0,stu[max].num,stu[max].name,stu[max].score); return 0; }
若将其中的.改为->,
在此之前 我们必须将STU stu[3]改为STU *stu[3]。
但是程序出错。
因此 编程时需要注意这两个符号的使用。