作用域的问题啊{}里是一个作用域,这个作用域结束以后的代码是访问不到作用域里面的局部变量的。但是作用域里面可以访问到作用域外面定义的变量。
第一段代码里面,定义int a = 9;的时候,之前的变量int a = 19.已经随着作用域的结束已经消失了。所以没问题。
而第二段代码,在作用域里面定义int a = 9;的时候,作用域外已经定义了int a = 19;这个时候作用域内部也是访问的到的,所以不能再次定义一个变量int a,否则就重复了。