-7

在给定的代码中......

....  
....  
if(a)  
{  
    int x;  
}  
else  
{  
    int y;  
}  
....  

如果 a 为真,那么 y 会发生什么?
y 是否被宣布?
在这段代码之后我可以使用 x 和 y 吗?

4

1 回答 1

2

如果atrue,则y永远不存在——它仅在执行进入定义它的块后才存在,如果从未发生过,它就永远不存在。

无论执行语句的哪一段,if当执行离开该范围时,该范围中定义的变量都将被销毁,因此在此代码结束后,既不x也不y存在,因此根本无法使用。

于 2013-11-06T02:01:25.070 回答