我有一个代码片段,它只是第一次生成两个int值。这是代码行:

int xb2,yb2 = 0;


但是,根据调试器,当它到达此行代码时,xb2的值为4262504

是什么原因造成的?

顺便说一句,对不起,如果我缺少明显的东西,我是C ++的新手。

最佳答案

xb2设置为4262504(某个任意值,通常是事先在堆栈上该位置发生的任何事情),因为您从未将其初始化为0

正确的方法是

int xb2 = 0, yb2 = 0;


另外,您声明“当它到达此行代码时”是一个奇怪的值。确保您实际上在调试器中执行了该行。如果光标位置或突出显示在该行上,则通常意味着它是下一个要执行的位置。换句话说,您可能需要再执行一步操作。

07-24 09:30