C语言中的静态局部变量

为什么在main()函数内声明静态局部变量毫无意义,请大家说明下,最好打个比例.

静态局部变量是为了再下一次进入其所属函数时,变量的值仍保持上一次的值.而main函数在程序的一次运行中只会运行一次,所以设置静态局部变量就没有意义了.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-29
静态局部变量相当于全局变量(只是只有在这个函数中能访问,但是生命周期是和全局变量差不多的),函数退出之后变量还在,而且只在第一次进入的时候做初始化,以后会跳过初始化语句,保留原来的值(也就是说,如果item是static的,那么只有在第一次进入这个函数的时候会执行item=0,以后都不会执行。)。
第2个回答  2019-01-27
静态局部变量具有局部作用域,它只被初始化一次,自从第一次被初始化直到程序运行结束都一直存在,它和全局变量的区别在于全局变量对所有的函数都是可见的,而静态局部变量只对定义自己的函数体始终可见。
第3个回答  2020-01-20
静态局部变量相当于全局变量,只是只有在这个函数中能访问,但是生命周期是和全局变量差不多的,函数退出之后变量还在,而且只在第一次进入的时候做初始化,以后会跳过初始化语句,保留原来的值。
第4个回答  2009-08-19
c语言中,main函数可以递归调用。例如:
int main(){
static int n = 0;
n++;
if(n < 10)
return(main());
else
return(0);
}

---------------------------------------------------
此时main中的static变量就显得有意义了
相似回答