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]就好了
作者:孙建钊
出处:http://www.cnblogs.com/sunjianzhao/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。