gpt4 book ai didi

c - 为什么这个c程序会给出运行时错误

转载 作者:行者123 更新时间:2023-11-30 21:47:23 25 4
gpt4 key购买 nike

我的程序是输入整数并将奇数负数之和添加到偶数正数,但我收到运行时错误,任何人都可以发现错误。

#include <stdio.h>

int main(void)
{

int i,j,m,n,a[m],w;

scanf("%d",&n);
for(i=0;i<n;i++)
{ int s=0,d=0;
scanf("%d",&m);
for(j=0;j<m;j++)
{
scanf("%d",&a[j]);
if((a[j]<0)&&(a[j]%2!=0))
s=s+a[j];
else if((a[j]>0)&&(a[j]%2==0))
d=d+a[j];
}
printf("%d",s+d);
}
return 0;
}

最佳答案

在你的代码中

a[m]

是错误的。 m 的值用作未初始化的值。

要解决您的问题,您可以根据用户输入 m 对变量 int * a 使用动态内存分配。

注意:

  1. 始终初始化局部变量。
  2. 检查scanf()的返回值是否输入成功。
  3. [请求] C [大部分]忽略空格。使用它们使您的代码更易于理解。

关于c - 为什么这个c程序会给出运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28294410/

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