main文件下
struct student stu1 = {"zhangsan",95.0};
struct student stu2 = {"lisi",80.0};
struct student stu3 = {"wangwu",91.0};
struct student stu4 = {"zhaoliu",75.0};
struct student stu5 = {"chenqi",89.0};
struct student array[5]={stu1,stu2,stu3,stu4,stu5};
findHighScore(array, 5, strcatName);
for (int i = 0; i < 5; i++) {
printf("%s\n",array[i].name);
struct student{
char name[100];
float score;
};
//声明一个给名字前面加高富帅的函数
void strcatName(char *p);
//声明一个查找90分以上学员的函数
void findHighScore(struct student *p,int count,void(*addName)(char *));
.m文件下
void strcatName(char *p)
{
strcat(p, "高富帅");
}
void findHighScore(struct student *p,int count,void(*addName)(char *))
{
for (int i = 0; i < count; i++) {
if (p[i].score >= 90) {//寻找结构体里面分数大于90分的学员
addName(p[i].name);//函数回调,把找到的90分以上的学员,名字后面拼接“高富帅”
}
}
}