#include <stdio.h>
int fun(int A)
{
int b=0;
static int c=3;
a=(c++,b++);
return(a);
}
main()
{int a=2,i,k;
for(i=o;i<2;i++)
k=fun(a++);
printf("%d\n",k);
}
答案是0,请教各位大大,这是为什么?
函数应都从主函数开始编译,为什么a的取值都取决于变量b?
追答是啊,程序执行的入口都是从主函数开始
a=(c++, b++);都是逗号最右边的值,即 b 的值
每次for循环,不管 实参 a 的值传递给 形参 a 的值是多少,
都会把 变量b 的初始值 0先赋值给 形参 a,再把 a==0 返回到主函数,赋值给k