Runtime Error(ACCESS_VIOLATION)常见解决方法

Runtime Error(ACCESS_VIOLATION)即运行时访问了非法内存导致异常。
在我看来,主要有以下三种情况会导致这种错误:

  1. 数组开的不够大,假如题目的数据范围是1e6,而我们如果只开了1e5的数组就会导致这个错误
    解决办法:查看题目数据范围和自己所开数组
  2. 数组访问异常,有时候即使我们申请的内存是可用的,但在下面访问时不小心访问了所开范围外数组下标
    解决办法:把代码认真看一遍
  3. 使用了未知内存,假如我们设置了变量a,但是却忘记对a初始化,导致代码的运算都是错误的,比如我前几天刚刚出现的zz错误:
    int n,m;
    scanf("%d",&n,&m); //m的输入格式错误
    
    解决办法:检查所有变量看看有没有忘记输入或者输入格式错误

你可能感兴趣的:(程序人生)