问题
单项选择题
阅读下列程序
public class VariableUse
public static void main(string[]args)
int a;
if(a==8)
int b=9;
System. out. println("a="+a);
System. out. println("b="+b);
System. out. println("a="+a);
System. out. println("b="+b);
该程序在编译时的结果是______。
A.变量a未赋值
B.第二个System. out. println("b="+b)语句中,变量b作用域有错
C.第二个System. out. println("a="+a)语句中,变量a作用域有错
D.第一个System. out. println("b="+b)语句中,变量b作用域有错
答案
参考答案:B
解析: 局部变量b是在if(a==8){}里定义的,作用域也只在这个if语句范围内,第二个System. out. println("b="+b)语句中,变量b超出了作用域。