chr*_*zla 4 c arrays max segmentation-fault
我只有一个函数可以找出整数数组的最大值,但是我得到了一个分段错误,我找不到它,因为编译器没有向我显示错误行。
这是我的 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;
}
Run Code Online (Sandbox Code Playgroud)
我使用 macOS 和 VSC。
在 C 中,数组索引的[]优先级高于指针取消引用*:https : //en.cppreference.com/w/c/language/operator_precedence
一些括号修复了段错误。
if ((*arrayPointer)[i]>max) {
max = (*arrayPointer)[i];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
70 次 |
| 最近记录: |