【发布时间】:2021-12-27 22:14:23
【问题描述】:
我写了这个函数:
int einmaleins(int zahl, int *arr){
int e;
for(int i = 1; i<11; i++){
e = zahl*i;
arr[i-1]=e;
}
return 0;
}
int main(){
int arr[10] = {0};
einmaleins(2, &arr[10]);
return 0;
}
问题是指针数组,但是当我启动程序时,我收到以下消息:***检测到堆栈粉碎***:终止
我真的不知道该怎么办。
【问题讨论】:
-
&arr[10]- 这是指向数组第十一个元素的指针。其中只有十个元素... -
@EugeneSh。对,奇怪的代码,我需要咖啡
-
您使用 IDE 吗?如果没有,我建议你买一个。然后了解调试器。您可以在代码中设置“断点”(或多个)并运行代码。当它到达断点时,它将停止,您可以检查变量,然后逐行单步执行您的代码,观察变量。这通常是查找此类问题的最快方法。
标签: arrays c pointers implicit-conversion function-call