VJ runtime error可能的原因

    xiaoxiao2021-03-26  23

    自己刚开始在virtual judge上做题的时候,时不时会遇到runtime error的情况,因为不了解在线评测系统的报错方法,调试废了不少时间。在网上查找和总结后记录了下面的解决方法。

    runtime error (运行时错误)就是程序运行到一半,程序就崩溃了。

    比如说: ①除以零

    ②数组越界:int a[3]; a[10000000]=10;

    ③指针越界:int * p; p=(int *)malloc(5 * sizeof(int)); *(p+1000000)=10;

    ④使用已经释放的空间:int * p; p=(int *)malloc(5 * sizeof(int));free§; *p=10;

    ⑤数组开得太大,超出了栈的范围,造成栈溢出:int a[100000000];一般来说,在oj上做题都把数组设成全局变量,减少5出现的可能。

    有的时候再出现这样的错误还会给提示 Runtime Error(ARRAY_BOUNDS_EXCEEDED) // array bounds exceed 数组越界 Runtime Error(DIVIDE_BY_ZERO) //divisor is nil 除零 Runtime Error(ACCESS_VIOLATION) //illegal memory access 非法内存读取 Runtime Error(STACK_OVERFLOW) //stack overflow 系统栈过载

    这样可以照着上面查找错误。

    转载请注明原文地址: https://ju.6miu.com/read-660456.html

    最新回复(0)