#include<stdio.h>
int adds(int x,int y);
void main()
{
int a=5,b=-1,c;
printf("调用函数add,将a,b的值作为参数进行传值,a,b值不变\n");
c=adds(a,b);
printf("运行函数add 静态变量m初值0 n初值3\n");
printf("执行n*=++m; m先++再取值运算, n=3\n");
printf("执行m=n%x+y++; y先取值运算再++ m=3%5-1, m=2 ,返回打印m的值 打印“2,”\n");
printf("再次调用函数add 传参值不变,静态变量值保留,m初值2 n初值3\n");
printf("执行n*=++m; m先++再取值运算, n=9\n");
printf("执行m=n%x+y++; y先取值运算再++ m=9%5-1, m=3 ,返回打印m的值 打印“3”\n");
printf("所以最终打印:\n");
printf("%d,",c);
c=adds(a,b); printf("%d\n",c);
}
int adds(int x,int y)
{
static int m=0,n=3;
n*=++m;
m=n%x+y++;
return(m);
}