1

为什么运行此代码时出现运行时错误?这是一个测试输入用例:

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;
}

预期和实际结果匹配,但编译器给出运行时错误。

4

1 回答 1

2

return您的应用程序的语句通常应返回EXIT_SUCCESS(0) 或EXIT_FAILURE(1)。

您返回一个非常正的值 - 这对于 shell 来说意味着这是一个错误。只需将返回值更改为“0”或EXIT_SUCCESS删除“运行时错误”。

另请参阅: main() 在 C 和 C++ 中应该返回什么?

于 2019-08-01T06:55:49.367 回答