c语言——全局变量莫名其妙被修改

  之前写一个程序的时候,设置了一个全局变量的标志,但是在程序运行的过程中这个全局变量的值总是莫名其妙的被改变

定义:

int plug[N][N];
int global_plug=0;

最后发现是因为在程序中对plug使用的是[1,N],可能是因为定义的时候,global与plug挨着,所以其 实际的物理存储可能也是相邻。

在使用plug[N][N]或者plug[N][N-1]等等的时候改变了global_plug,所以会出现全局变量被莫名其妙的修改

只需要plug[N+1][N+1]就好了

posted @ 2021-03-28 19:34  白菜茄子  阅读(1758)  评论(0编辑  收藏  举报