本帖最后由 Dast 于 2015-6-3 00:11 编辑
1、结束语句块后,原来的全局变量被赋予一个新的值,在进行下面的程序会引用这个新值,而不是原来的值了吗?为什么答案是:会引用新的值,不再是原来的。因为上面这个int i=1,sum=0; 这个其实是局部变量,而局部变量也是相对的,在相对下面的while语句块(语句块中没有与i,sum同名命的定义时)时,可以把他们看成是全局变量。所以i,sum会被赋予新的值(i==101,sum=1050),在进行下面的程序就会引用这个新值。
2、下面的之所以报错是因为i在上面已经定义过了,相同变量名不能重复定义。去掉int就不会报错了。由于上面的程序运行后使得i的值为101,不瞒住while循环条件,所以循环语句没执行。
请看图理解:
|