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]就好了


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM