作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的程序是输入整数并将奇数负数之和添加到偶数正数,但我收到运行时错误,任何人都可以发现错误。
#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
使用动态内存分配。
注意:
scanf()
的返回值是否输入成功。C
[大部分]忽略空格。使用它们使您的代码更易于理解。关于c - 为什么这个c程序会给出运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28294410/
我是一名优秀的程序员,十分优秀!