练习2.13
#include <iostream>
using namespace std;
int i = 42;
int main() {
int i = 100;
int j = i;
cout << "j = " << j << endl;
system("pause");
}
输出发生在局部变量i定义之后,此时局部变量i
正在作用域内,因此输出语句使用的是局部变量i而非全局变量。
练习2.14
#include <iostream>
using namespace std;
int main() {
int i = 100, sum = 0;
for (int i = 0; i != 10; ++i)
sum += i;
cout << i << " " << sum << endl;
system("pause");
}
在for语句中的int定义于for语句内,在for语句中可以访问int,但是在循环结束之后,此变量的值不能再被访问。当for语句循环结束时,此时for语句中的int实际等于9但不可再被访问,sum被赋值等于100。而函数体内的int仍然等于100。所以注意不要重复初始化以及注意变量的作用域。