#include<stdio.h>
int a=10; //a为全局变量,作用域到程序结束,只有程序结束才会,释放空间,结束之前a 都是有效的
void test()
{
int num; //这个变量是程序运行的时候,函数执行才会开辟的临时空间,其作用域是在 test()这个函数内,test函数结束,那么num就无效,空间被释放
num=0;
a++;num++;
printf("%d,%d",a,num)
}
int main()
{
test();test();test();test(); // 调用了4次test()函数 ,想当于开了一个num变量,释放一个num变量的4次操作,而没有使num累加,每次都是重新开辟的
return 0;
} 打出来结果怎么会是11,1 12,1 13,1 14,1
可以在 int num 前面加一下 static 这样就可以实现静态变量了
|