关于#c++#的问题,请各位专家解答!在主程序中调用主函数,实现对最大值及其下标的输出,请各位专家提出一下宝贵意见,感激不尽

img

img


关于#c++#的问题,请各位专家解答!在主程序中调用主函数,实现对最大值及其下标的输出,请各位专家提出一下宝贵意见,感激不尽

第5行错误,不能在函数里计算参数指针的长度,即使你传递的是个数组。函数对于参数指针只能作为指针。所以数组长度要增加一个参数进行传递
另外参数传递也不对,max和index没有分配空间,一旦赋值就出现崩溃!
主函数改为 int max,index;
maxArray(arr,10,&max,&index);
函数增加一个参数表示数组长度

参数中的max和index是存放结果的,不是直接参与查找的。主体部分代码如下

int maxV = arr[0];
int maxIndex = 0;
for (int i = 1; i < size; i++){
  if (arr[i] > maxV) {
      maxV = arr[i];
      maxIndex = i;
  }
}
*max = maxV;
*index = maxIndex;