今晚调试了一会才看明白....
#include <iostream>
using namespace std;
void fun(int *n)
{
static int m=2;
printf("fun(): before: n:%d m:%d\n",*n,m);
*n*=m-1; m+=2;
printf("fun(): after : n:%d m:%d\n",*n,m);
puts("");
}
int main()
{
static int m=1;
int i;
for(i=1;i<4;i++){
printf("main : m:%d\n",m);
fun(&m);
}
printf("%d\n",m);
return 0;
}