首页 > 其他 > 详细

Runtime Error可能的情况

时间:2020-04-05 20:27:58      阅读:69      评论:0      收藏:0      [点我收藏+]

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

在oj上做题提交时出现RE可能有以下几个原因:

1.除以了0 。

2.数组越界:比如int a[8]; 却访问了使其a[100000]=9;,只能开大数组。

3.指针越界:比如int * p; p=(int *)malloc(10 * sizeof(int)); *(p+10000)=10;,需要重新申请空间。

4.使用已经释放的空间:如int * p; p=(int *)malloc(10 * sizeof(int));free(p); *p=10;,使用时注意仔细。

5.数组开得太大,超出了栈的范围,造成栈溢出:比如在主函数或用户函数种将数组开至a[100000000],函数内部(局部数组)承载不了这么大范围的数组,但是将其设置为全局变量可以避免。

6.还有可能是函数递归的时候传参时不正确(比如大小关系),导致递归溢出所定义范围。

 

当有提示信息时,分别对应以下:


1.Runtime Error(ARRAY_BOUNDS_EXCEEDED) // array bounds exceed 数组越界(错误1)

2.Runtime Error(DIVIDE_BY_ZERO) //divisor is nil 除以0

3.Runtime Error(ACCESS_VIOLATION) //illegal memory access 非法内存读取(错误6可能出现)

4.Runtime Error(STACK_OVERFLOW) //stack overflow 系统栈过载(错误5)

Runtime Error可能的情况

原文:https://www.cnblogs.com/theshorekind/p/12638497.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!