首页 > 电脑

c语言里的赋值号左边数值怎么会不等于右边值呢?

更新时间2018-04-02 10:21:05

如图,我程序运行时出现了一个很奇怪的现象,设置断点中断后我才发现,有这样一条语句:Fgg=gg,运行到这里,gg的值是66,那么将gg赋值给Fgg,Fgg不也应该等于66么?为什么程序中此时却显示Fgg=24呢,竟然不是66,这是怎么回事呢?有哪位大神能给指导下么,我真的蒙圈了。。。c语言里的赋值号左边数值怎么会不等于右边值呢?

看你的显示.你看到的结果是Fgg=gg之前,你下一步后再看下Fgg的值

若仍是24,这个可能有两个

一是因为程序的优化,.你单步看到与实际运行的结果是不同的

这个你可以直接用程序输出Fgg的值看下是否正确

二是因为你的程序有内存泄露,.导致变量地址变化了,这个就比较难查了(程序BUG的一种)

检查你程序中所有的下标是否溢出,指针是否赋值


可能到达这个点还没有运行赋值语句,而是运行到前一句

相关标签:c语言

上一篇:linuxshark怎么安装

下一篇:笔记本电脑经常黑屏,需重新待机后才显示。