#include <stdio.h> int f(int a) { int b=0; static int c=3; a=c++,b++; return a; } void main() { int

a在第一次循环后不会变成3吗?为啥K还是等于5?不等于4

#include <stdio.h>
int f(int a)
{
int b=0;
static int c=3;//静态变量,只做一次初值赋值,即:第一次调用fun c=3
a=c++,b++; //第一次调用本函数后,c=4,第二次后,c=5,第三次后c=6......
return a; //第一次调用本函数后,a=3,二次后,a=4,第三次后a=5.....
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-18
static关键字 只会将变量初始化一次,下次再调到的时候不进行初始化,所以每调用一次函数c都会加1
第2个回答  2011-09-18
首先,你要注意形参和实参的区别,自己看书好好看看区别,还有循环体中静态变量static只初始化一次,这个要注意
相似回答