参数名称如何在C ++中对此示例起作用?

时间:2016-09-28 12:55:15

标签: parameters scope static

我知道通过名称传递会将形式参数替换为真实参数,但是当代码使用静态范围时我无法获取它。

对于以下代码,它将打印:

  

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;
}

0 个答案:

没有答案