c语言里的赋值号左边数值怎么会不等于右边值呢?
如图,我程序运行时出现了一个很奇怪的现象,设置断点中断后我才发现,有这样一条语句:Fgg=gg,运行到这里,gg的值是66,那么将gg赋值给Fgg,Fgg不也应该等于66么?为什么程序中此时却显示Fgg=24呢,竟然不是66,这是怎么回事呢?有哪位大神能给指导下么,我真的蒙圈了。。。
看你的显示.你看到的结果是Fgg=gg之前,你下一步后再看下Fgg的值
若仍是24,这个可能有两个
一是因为程序的优化,.你单步看到与实际运行的结果是不同的
这个你可以直接用程序输出Fgg的值看下是否正确
二是因为你的程序有内存泄露,.导致变量地址变化了,这个就比较难查了(程序BUG的一种)
检查你程序中所有的下标是否溢出,指针是否赋值
可能到达这个点还没有运行赋值语句,而是运行到前一句
上一篇:linuxshark怎么安装
热门标签: