第一个程序如下:
#include
int a=2;
int f()
{
static int n;
int m;
m=n=0;
n++;a++;m++;
return n+m+a;
}
main()
{
_ int k;
for(k=0;k<3;k++)
printf("%d,",f());
printf("\n");_
}
程序运行结果:
5,6,7,
第二个程序如下:
#include
int a=2;
int f()
{
static int n=0;
int m=0;
n++;a++;m++;
return n+m+a;
}
main()
{
int k;
for(k=0;k<3;k++)
printf("%d,",f());
printf("\n");
}
/*
程序运行结果:
5,7,9,
*/
====求教大侠,为何相似的两个程序运行结果不一样呢?