为了账号安全,请及时绑定邮箱和手机立即绑定

想要调用findmax()函数,寻找数组中的最大元素,请问该怎样定义函数?

想要调用findmax()函数,寻找数组中的最大元素,请问该怎样定义函数?

C PHP
慕婉清6462132 2022-04-15 15:11:21
#include<iostream>using namespace std;int *findmax(int *array,int size,int *index);void main(){int a[]={33,23,78,99,54,45,76,12,90};int *maxaddr;int idx;maxaddr=findmax(a,sizeof(a)/sizeof(*a),&idx);cout<<"the index of maximum element is"<<idx<<endl;cout<<"the address of is"<<maxaddr<<endl;cout<<"the valve of is"<<a[idx]<<endl;}
查看完整描述

1 回答

?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

int *findmax(int *array,int size,int *index) {
if (size <= 0) return NULL;
int max = array[0];
*index = 0;
for (int i = 1; i < size; i++) {
if (array[i] > max) { // 如果大小相同的返回第一个则这么写,若返回最后一个则用>=
*index = i;
max = array[i];
}
}
return &array[*index];
}
这个函数不应该这样定义,应该用返回值返回下标,不用返回指针,根据下标就能得到数组的元素了。既返回指针又返回下标相当于返回了多余的东西。函数设计的要紧凑不要做无谓的事情。

查看完整回答
反对 回复 2022-04-19
  • 1 回答
  • 0 关注
  • 301 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信