我只是有一个函数,可以找出整数数组的最大值,但是却遇到了段错误,因为编译器没有向我显示错误所在,所以我找不到该错误。
这是我的C代码:
#include <stdlib.h>
#include <stdio.h>
//Funktion ermittelt den größten Wert eines Arrays
int groesstesElement(int **arrayPointer){
int max = 0;
for (int i = 0; i < 3; i++) {
if (*arrayPointer[i]>max) {
max = *arrayPointer[i];
}
}
return max;
}
int main (int argc, char **argv) {
int array[4]={1,2,3,4};
int *ptr = array;
int z = groesstesElement(&ptr);
printf("%d\n", z);
return EXIT_SUCCESS;
}
我使用macOS和VSC。
在C语言中,数组索引的[]
优先级高于指针取消引用的优先级*
:https : //en.cppreference.com/w/c/language/operator_precedence
一些括号可以修复段错误。
if ((*arrayPointer)[i]>max) {
max = (*arrayPointer)[i];
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句