在给定的代码中......
....
....
if(a)
{
int x;
}
else
{
int y;
}
....
如果a为真,那么y会发生什么? 你被宣布了吗? 我可以在这段代码后使用x和y吗?
答案 0 :(得分:2)
如果a
是true
,那么y
永远不存在 - 只有在执行进入定义它的块后才会存在,如果永远不会发生,它永远不存在于所有
无论执行if
语句的哪一段,当执行离开该范围时,该范围中定义的变量都会被销毁,因此在此代码结束后,x
和{{y
1}}存在,所以根本不能使用。