#include<stdio.h>
int f(int a)
{
int b=0;
static int c=3;
a=c++;b++;
return a;
}
int main(void)
{
int a=2,i,k;
for(i=0;i<2;i++)
k=f(a++);
printf("%d\n",k);
return 0;
}
为什么最后a是4不是6?感觉进入了函数,
但a=c++没有执行,a只是自增
f()函数返回的值是c之前的值,f()函数被调用两次,第一次c初始是3,c变为4,f()返回3;第二次f()返回4,c变成5
兄弟加个取地址符试试,在a的前面,这个是形参,无法改变实参