在编程序时,有时候调试的时候会遇到stack around variable was corrupted的问题,翻译成中文就是堆栈变量被损坏。
小白怎么也想不出是什么问题,后来找了很多文章觉得可能是数组太大了
本来是在函数里面定义一个int adjacmatr[600][600]; 使用蚁群算法的邻接矩阵,后来就出现上述问题。
但是定义成static int adjacmatr[600][600]; 使用静态变量就好了。
还有一个同样的问题就是在使用禁忌表的时候出现的问题,也是stack around variable was corrupted
代码如下:
#define N 52 //city size
#define M 52 //ant number
int tabu[M][N] ;
又出现堆栈损坏的情况,但是赋了初值又好了
int tabu[M][N] ={0};
因篇幅问题不能全部显示,请点此查看更多更全内容