C语言问题 求大神
若我在函数中指定一个静态变量并进行运算如: static x=1 x=x+1 那么我再次调用这个函数的时候 x的值为多少 是1还是2
若我在函数中指定一个静态变量并进行运算如: static x=1 x=x+1 那么我再次调用这个函数的时候 x的值为多少 是1还是2
答案:变量声明为static后会保存在堆中,不会因为函数执行结束而释放。你再次执行函数,不会重新初始化,而是直接执行x=x+1,所以再次调用函数时,x已经是2了。
其他:肯定是2呀,因为你用的是static每次都会保留运算之后的数值 # include<stdio.h>
main()
{
int static x =1;
int y;
x = x+1;
printf("%d\n",x);
y = x+1;
printf("%d\n",y);
system("pause");
}
运算结果是:2,3.所以X的值是2. 你在C下运行一下就知道了,亲手实验比别人回答的要更利于学习