-7

指定されたコードで...

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

a が真の場合、y はどうなりますか?
y は宣言されますか?
このコードの後に​​ x と y を使用できますか?

4

1 に答える 1

2

aisの場合truey存在することはありません。実行が定義されているブロックに入った後にのみ存在し、それが発生しない場合はまったく存在しません。

ステートメントのどのレッグifが実行されても、そのスコープで定義された変数は、実行がそのスコープを離れるときに破棄されるため、このコードの終了後はどちらxy存在しないため、どちらもまったく使用できません。

于 2013-11-06T02:01:25.070 に答える