gpt4 book ai didi

c - 没有任何非法访问的随机段错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:44:55 24 4
gpt4 key购买 nike

当我使用终端命令(在 linux mint sonya 中)编译并运行以下代码时

gcc -o 程序 program.c
./程序

我遇到了段错误。当我使用 Code::blocks IDE 执行相同操作时,我没有收到任何错误。我知道访问非法内存时会出现段错误。怎么了?

 #include <stdio.h>
int main()
{
int t;
scanf("%d",&t);
for(t;t>0;t--)
{
int i,j,n,arr[n],sump=0,sums=0,total,ans;
scanf("%d",&n);
for(i=0;i<=n-1;i++) scanf("%d",&arr[i]);
for(i=0;i<=n-1;i++,sump=0,sums=0)
{
for(j=0;j<=i;j++) sump=sump+arr[j];
for(j=n-1;j>=i;j--) sums=sums+arr[j];
if(i==0) ans=sump+sums;
else if(ans>sump+sums) ans=sump+sums;
}
for(i=0;i<n;i++,sump=0,sums=0)
{
for(j=0;j<=i;j++) sump=sump+arr[j];
for(j=n-1;j>=i;j--) sums=sums+arr[j];
if(ans==sums+sump) break;
}
printf("%d\n",i+1);
}

}

最佳答案

您正在声明 arr[n] 而未初始化 n 的值。那是未定义的行为...

关于c - 没有任何非法访问的随机段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46003080/

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