Run-Time Check Failure #2

Run-Time Check Failure #2 

在进行对称矩阵压缩时发生了这个bug,在检查后发现是数组下标有溢出。

例如:对对称矩阵压缩(矩阵下标1开始,数组下标0开始)

在for循环输入数组(int i=0;i<n+1;i++)但是内循环中(int j=0;i<m;j++)对应下标不同所以要主要循环变量的控制,而在输出时使用(int i=0;i<n;i++)就会发生下标的不匹配发生溢出现象。在程序运行时就会产生断点报错,溢出的下标对应的数组的内容会出现乱码!

Run-Time Check Failure #2:

分析:

     1,  这个错误一般是因为给变量分配的空间出现越界访问导致的(绝大部分是数组越界)。

可能出现情况:

  1.  strcpy、memcpy、strncpy、stpcpy、bcopy等拷贝区的大小不匹配,引起冲突或溢出造成的
  2. 当使用 memset/ZeroMemory初始化数据结构体 structure或数组 array时,由于大小设置错误引起的(绝大部分是该问题)
  3. 可能是指针移动,指向错误
  4. 还有可能是变量赋值了,但是变量没有找到

猜你喜欢

转载自blog.csdn.net/qq_46861651/article/details/113306942