gpt4 book ai didi

C:如何纠正这个段错误

转载 作者:行者123 更新时间:2023-11-30 15:04:58 25 4
gpt4 key购买 nike

以下代码显示段错误(我不知道为什么?)输入在二维数组的范围内

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

int main() {
int ar[10000][10000],n,m,i,j;

scanf("%d%d",&n,&m);
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
{
ar[i][j]=0;
}
}

for(i=1;i<=n;i++)
{
scanf("%d",&ar[1][i]);
}
for(i=2;i<=m;i++)
{
for(j=1;j<=n;j++)
{
if(j!=n)
{
ar[i][j]=ar[i-1][j]^ar[i-1][j+1];
}
else
{
ar[i][j]=ar[i-1][j]^ar[i-1][1];
}
}
}
for(i=1;i<=n;i++)
{
printf("%d ",ar[m-1][i]);
}
}

最佳答案

将数组定义为全局变量,位于 main 之外。全局变量位于数据段,局部变量位于堆栈,所以可能会出现堆栈溢出

关于C:如何纠正这个段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40059143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com