回复 9楼 蒂娜
因为你已经定义了a为全局变量,在北调函数里又定义a为静态全局变量,它的作用域属于这个函数,所以a==10,第一次输出的值就是10+30.第二次输出的值,a用的是全局变量6,所以输出6+30;
还有你在北调函数里b++,是不会影响c的值的,b是形参,c是实参。要改变可以用引用来实现。
#include<stdio.h>
int
a=6;
void fun(int
&b)
{
static
int a=10;
a+=b++;
printf("%d",a);
}
void main()
{
int
c=30;
fun(c);
printf("\n");
a+=c++;
printf("%d\n",a);
}