#include
int f(int m)
{
static int n=0; //静态变量,只初始化一次,第二次为上一次的剩余结果
n+=m;
return n; //第一次n=1 第二次m=1,n+=m=2
}
void main()
{
int n=0;
printf("%d,",f(++n)); //++n,先自增,后调用n,相当于调用f(1)
printf("%d\n",f(n++)); //n++,先调用n,后自增,相当于调用f(1)
}结果为1,2
这题主要考++n和n++的区别
++n:将n的值+1后作为表达式的值
n++:将n的值作为表达式的值后n自加1