我知道通过名称传递会将形式参数替换为真实参数,但是当代码使用静态范围时我无法获取它。
对于以下代码,它将打印:
x = 1 y = 2
x = 6 y = 6
x = 5 y = 4
x = 12 y = 12
x = 5 y = 4
x = 1 y = 2
我不理解第二个第四行。
int x = 3, y = 4;
void f(int y) {
y = y + x;
cout << x << ' ' << y;
}
void g() {
int x = 5;
cout << x << ' ' << y;
f(x);
cout << x << ' ' << y;
}
int main() {
int x = 1;
int y = 2;
cout << x << ' ' << y;
f(x);
g();
cout << x << ' '<< y;
return 0;
}