设有以下函数: f ( int a){ int b=0;static int c = 3; b++; c++;return(a+b+c); }如果在下面的程序中调用
4个回答
2012-05-28
展开全部
就是啊,没说完吧……
c由于是静态变量,c初始值定义为3,以后调用函数f(),c不会重新定义,仅执行后面的c++语句。
b在每次进入的时候都会重新申明和定义,固每次进入程序都会初始化为0。
执行依次执行f(1),f(2),f(3)的话返回值分别为6,8,10
c由于是静态变量,c初始值定义为3,以后调用函数f(),c不会重新定义,仅执行后面的c++语句。
b在每次进入的时候都会重新申明和定义,固每次进入程序都会初始化为0。
执行依次执行f(1),f(2),f(3)的话返回值分别为6,8,10
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
static int c = 3;//c是静态变量,函数返回时不像临时变量需要销毁,下次调用该函数时保存的是上一次的值
追问
但是答案中没有你给的选项。。。。题目错了吗
追答
我只是给你分析下 static 变量的作用而已,zx956592819 解释的是不对的
其实是a和b的值不变,变化的是c的值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
说完啊,C是全局变量!
更多追问追答
追问
main(){int a=2,i;
for(i=0;i<3;i++) printf("%d\n",f(a));
}
追答
输出
6
7
8
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询