求老师解答,我为什么我这个c的最终值是0呢

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

4回答
慕UI5004976 2018-04-17 10:41:05

作用域问题,你while语句只运行到while大括号 然后while语句会被系统回收 前面的c赋值自然就会消失,所以显示0

晓儿很忙 2018-02-24 13:47:04

因为在循环外部已经定义了int c,那么在while循环体中不需要再次定义int c=b-a,更改为 c=b-a,结果就正确了。

可乐pp 2018-02-23 18:43:25

http://img1.sycdn.imooc.com//climg/5a8fefe70001749907510573.jpg

我用了c++里面查看地址的方法发现当while跳出来之后两个c的地址是不一样的,也就是正如老师所说的在while里面你定义的c可以理解为一个和外面那个c是同名的但是并不是同一个事物。

我们可以这样子理解,你在while一直给2楼的小明喂饭吃,他吃的胖胖的然后你问15楼的小明吃饱了没有,很明显15的小明没有吃过饭噢

  • 你说的这个例子很形象啊,不错。
    2018-02-23 20:52:33
Tender10 2017-12-25 09:59:30

你把while循环里定义的int c = b-a;中的int去了,直接写出c=b-a;即可。因为这就属于每次循环都会在定义一次c变量。

  • 老师老师我在这里根据C++回复了一下我的看法~老师可以看一下有没有说错的地方~谢谢老师~~~
    2018-02-23 18:44:22
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码