当前位置:编程学习 > C/C++ >>

C语言问题 求大神

若我在函数中指定一个静态变量并进行运算如: 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下运行一下就知道了,亲手实验比别人回答的要更利于学习 

上一个:c++关于getline的小问题
下一个:#define out P2 有什么用 什么意思 有什么用啊

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,