C语言题目,做不出来了!求大神出救

 我来答
GTA小鸡
高粉答主

2016-01-14 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部
x是个普通的局部变量,不管调用多少次increment,x的值都不会变,因此总是输出1。
更多追问追答
追问
结果是1 11
追答
没错,难道和我说的不一致吗?
gejun888
2016-01-14 · TA获得超过1201个赞
知道小有建树答主
回答量:699
采纳率:0%
帮助的人:561万
展开全部

答案应该是:

1        1        1

 

在这个程序中,increment函数被调用了三次。而每次调用该函数时只是 把变量 x 的值加一。对于初学者需要注意的是,变量 x 是一个局部变量,其作用域只在 increment函数内部。在主函数main中不管调用多少次increment函数,也只不过重复调用而已,所以其中 x 的值都是一样的。运行结果如图所示:

更多追问追答
追问
答案为什么是1 11是不是错了?
追答

输出三个1是没有错的。因为x只是一个局部变量,并且不是静态变量。如果x是以static声明的静态变量,那么x的值在每次函数调用时都会被保存下来,这种情况如下图所示:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
喵不语__
2016-01-14 · TA获得超过2.5万个赞
知道大有可为答主
回答量:3281
采纳率:75%
帮助的人:609万
展开全部
输出1 1 1啊
更多追问追答
追答
每次调用increment函数都输出一个1啊
追问
是1 11
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式