|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 WFR 于 2020-4-7 22:36 编辑
有4名学生输入名字和成绩,用自定义的函数输出成绩中最大的。
#include<stdio.h>
struct student //定义结构体;
{
char name[20];
int score;
} stu[4],*p;
main()
{
int max(int *p);
p = &stu;
int i;
printf("四位学生的姓名和成绩分别为:");
for (i = 0; i < 4; i++) //输入数据
scanf("%s,%d", &stu[i].name, &stu[i].score);
printf("四位学生中成绩最高为:%d",max(p));
}
max(int *p) //进行比较
{
int i, m ;
for (i = 0,m=4; i<4,m>0;m--, i++)
{
if (stu[i].score>stu[m].score)
m = i;
}
return stu[m].score;
}
sorry,看错了,第一行是声明
你的max函数中根本没有传入p的必要,函数体中根本没用到
或者整个代码来看,p都没有存在的必要,因为你将stu定义为全局变量
试试改一下max函数:
- int max() //进行比较
- {
- int i;
- int score = stu[0].score;
- for (i = 1;i<4;i++)
- {
- if (stu[i].score>score)
- score = stu[i].score;
- }
- return score;
- }
复制代码
|
|