[每日一氵]C++变量被赋值之后,明明被修改了,却还是没被修改的一种可能的bug
作者:互联网
MD 最近压力有点儿大 (主要是高估自己了,同时间并行的进程比较多),还好已经感冒过了,近期应该不会再感冒了
碰到这个垃圾bug:
看到了吗?我明明已经改过他了,而且打印出来,显示已经修改过来,但是等他一会儿再打印出来,他的值又变回去了… ????有神秘的第三只手??
debug半天,选了几首比较燃的歌吸一吸,想找个人吐槽一下… 没人
算了,给X基佬打个电话,随便聊聊…
3 min later
这个崽子不理我
打完电话后,重新看了一下代码:
绿色框的位置用于打印变量值
乍一看没啥问题,第一个红框初始化变量,第二个改值
(你会不会觉得,即使第二个红框明明又是初始化,但实际上还是改值了,对不?)
欸,你说为啥这里没有报错呢? 报变量被重新定义的错呢??
对了,在while循环里边,新建了一个局部变量,等循环结束后,那个变量就被释放了…
于是就变成原来的那个变量hhhh,所以在 while 循环里边,直接改变量就行,不用重新赋值了
啊啊啊啊啊啊啊啊,多基础的问题啊啊啊啊啊啊
(感谢我给好基友打电话,并且他没理我,而且我也没有一个可分享的朋友——这三件事儿,不然我应该不会这么"快"解决的hhh)
好气…
关网页的时候,看到满屏的滑稽… 于是又点了 编辑 分享给遇到这脑残问题的诸位hhhhh
标签:红框,变量,打印,C++,修改,啊啊啊,bug,改值 来源: https://blog.csdn.net/HaoZiHuang/article/details/121723597