i<2,可以循环两次啊,求详细过程

下列程序执行后输出的结果是().

int f(int a)

{ int b=0;

 static int c=3;

 a=c++,b++;

return(a);  }

int main(viod)

{ int a=2,i,k;

 for(i=0;i<2;i++)  k=f(a++);

 printf("%d\n",k);

 return 0;  }

这里程序应该会报错啊,能正常运行吗?

是可以循环两次啊
但是第一次的返回值没有用,后面k被覆盖了
静态变量c也没有用上,逗号表达式的值是最后一项的值,所以a=b=0,返回0