objdump -S test1c(查看反汇编命令)
指令可以查看编译过程objdump -S test2cpp(查看反汇编命令)
指令可以查看编译过程第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;