程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩,函数fun的功能是将形参a所指结构体变量s中的数据进行修改,并把a中地址作为函数返回值返回给函数,在主函数中输出修改后的数据。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
struct student
{
long sno;
char name[10];
float score[3];
};
struct student *fun(struct student *a)
{
int i;
a->sno = 10002;
strcpy(a->name, "LiSi");
for (i = 0;i < 3;i++)
a->score[i] += 1;
return a;
}
int main()
{
struct student s = { 10001,"ZhangSan",95,80,88 },*t;
int i;
printf("\n\nThe original data:\n");
printf("\nNo:%d Name:%s\nScore: ", s.sno, s.name);
for (i = 0;i < 3;i++)
printf("%6.2f", s.score[i]);
printf("\n");
t = fun(&s);
printf("\nThe data after modified:\n ");
printf("N:%ld Name: %s Score:", t->sno, t->name);
for (i = 0;i < 3;i++)
printf("%6.2f", t->score[i]);
printf("\n");
getchar();
return 0;
}