写出下面程序的运行结果,同时写出其中出现的所有变量属于哪类变量和作用范围。

来源:百度知道 编辑:UC知道 时间:2024/05/20 00:40:29
int add(int x,int y)
{ int i=2; static int m=0;
i=i+m+1;
m=i+x+y;
return(m);
}
main()
{ int a=6,b=3,c;
c=add(a,b);
printf("%3d",c);
c=add(a,b);
printf("%3d",c);
}

12 24
这里只有一个需要注意的地方就是m是静态局部变量,根据静态局部变量的特点, 可以看出它是一种生存期为整个源程序的量。虽然离开定义它的函数后不能使用,但如再次调用定义它的函数时,它又可继续使用,而且保存了前次被调用后留下的值。这就是为什么第二个c是24