1、stu[].score 这种表达式是错的,stu必须加下标才能访问成员。如stu[0].score 要想找出所有学生所有成绩中的最高值,可改写 MAX 函数,参数 改成 学生数组;在MAX函数内再比较学生成绩。
创新互联公司专注于枣强企业网站建设,响应式网站,商城网站建设。枣强网站建设公司,为枣强等地区提供建站服务。全流程按需求定制设计,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务
2、D. stu[0].score 是正确的,stu 是数组,stu[0] 是结构,stu[0].score 可以访问结构成员。
3、可以使用冒泡排序, 这里有个实际例子, 你可以看看。
1、printf(第%d个学生的平均分是%d\n,(i+1),score/5);score = 0;} f2();f3();system(PAUSE);return 0;} 你的问题有点多啊,你看一下吧。
2、你写的5个函数没有返回值,也就是你传进去了学生的成绩,计算出结果没有放回出来,每个函数都需要加return语句。
3、要求输入10个学生5门功课的成绩,分别用子函数求出:(1)每个学生的平均分;(2)每门功课的平均分;(3)找出最高分所对应的学生和功课。
进入函数后,函数创建几个空间给形参,再把实参数值拷过来。退出函数时,把形参空间释放,则影响不到实参。这就是值传递。
在C语言中,局部变量的作用域只在函数内部,在函数返回后,局部变量的内存就会被释放。如果函数只是返回局部变量,那么这个局部变量会被复制一份传回被调用处。
因为在函数调用期间的局部变量,当这个函数返回时,局部变量将会消失(被系统回收)而不复存在,所以若返回一个局部变量的指针,则返回后就变成一个“野指针”。
那你应该用指针的指针才行,然后函数返回指针。
void average(float *p,int n);这个的第一个参数是个一维指针 float score[3][4] 这是两个维度 average(score,12) 中是把一个2维的赋给一个一维指针 它消化不了啊。。