第1个回答 2019-06-03
#include
<iostream.h>
int
a,b;
void
fun(int
a)
{
static
int
c;
b+=a;
c+=a+b;
cout<<a<<b<<c<<endl;
}
void
main()
{
int
a=5,b=7;
fun(a);
//调用这个函数知输出
5
5
10
这里的参数a使用了局部变量的副本,函数里的b使用了全道局变量
就是内fun(5)==>
b+=5:b=0+5
c+=a+b:c=0+5+5
就是5
5
10
fun(b);
//这个输出
7
12
29
函数里的a使用了全局变量,参数b使用了局部变量的副本,而c是个静态变量,就接着上面的fun(a)的结果10继续容+a+b
就是fun(7)
==>b+=7:
b=5+7
c+=a+b
c=10+7+12
就是
7
12
29
}