为什么运行此代码时出现运行时错误? 这是一个测试输入案例:
5 3
1 2 100
2 5 100
3 4 100
#include <stdio.h>
long long int s[999999];
// Complete the arrayManipulation function below.
int main()
{
int n,m,i;
long int a,b,val,cval;
scanf("%d %d",&n,&m);
for(;m>0;m--)
{
scanf("%ld %ld %ld",&a,&b,&val);
s[a-1]+=val;
if(b!=n)
s[b]-=val;
}
val=s[0];
cval=s[0];
for(i=1;i<n;i++)
{
cval+=s[i];
if(val<cval)
val=cval;
}
printf("%ld",val);
return val;
}
预期结果与实际结果匹配,但编译器给出运行时错误。
答案 0 :(得分:2)
应用程序的return
语句通常应返回EXIT_SUCCESS
(0)或EXIT_FAILURE
(1)。
您返回一个非常正的值-这对于Shell来说是一个错误。只需将返回值更改为“ 0”或EXIT_SUCCESS
即可消除该“运行时错误”。