作者在 2008-01-30 20:34:04 发布以下内容
{
int x=12;
{int x=96;
x=x+4;
}
x=x-5;//x运算后的结果为7,而不是95
}
在c和c++里,上边的x相当于定义了两个变量,第二层大括号里的代码对 x的操作都是对第二个x 的操作
不会影响到第一个x,第一层大括号的代码对x的操作都是对第一个的操作,跟第二个没有任何关系
但这种在java里是不允许的
因为java认为产生了混淆,编译器会认为变量x在第一层大括号里被定义,不能在第二层大括号中被重复定义