zoukankan      html  css  js  c++  java
  • Runtime Error可能的情况

    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)

  • 相关阅读:
    BFS 简单思想以及代码
    01、Hibernate安装配置
    WireShark——ARP 协议包分析
    eNSP之VLAN设计实验
    eNSP 交换机 路由器 PC 互连设计/实现
    Windows常用的网络命令
    01、Git安装教程(windows)
    Java IO编程——文件拷贝
    Java 多线程编程——多线程
    Java IO编程——转换流
  • 原文地址:https://www.cnblogs.com/theshorekind/p/12638497.html
Copyright © 2011-2022 走看看