永发信息网

关于 C++ 的 for 循环里的语句块 {...}

答案:1  悬赏:30  手机版
解决时间 2021-08-15 07:26
关于 C++ 的 for 循环里的语句块 {...}
“for (...; .; ...) {...}”和“for (...; .; ...) ...;”

我写了个这个:


出了循环,n 的值并不是 0


“for (...; .; ...) {...}”中的“{...}”有什么特别之处?
我想得到的是一个针对我的提问的准确的回答
恩..应该是叫复合语句而不是语句块...
第二张图是我思考第一张图的根据,看来我需要表明这个,然后我想要得到的是关于以下的解答:
我这个思考根据有没有问题?
或者是“for (...; .; ...) {...}”中的“{...}”有什么特别之处?
我觉得我没必要说道这层面上来,不然有“装X”的意味
最佳答案

你的程序是将1元分成若干个1分、2分和5分的组合,也就是方程
x+2y+5z=100
的解的个数,然后就从大到小开始依次循环,先是5分的,再到2分的,你之所以能这样是因为有1分的存在,无论你2y+5z之后剩下多少都可以用100-(2y+5z)个1分来凑,所以你这里面的for循环只要负责一直计数就可以了.
你在第一个for循环里面定义的变量在后面的{}范围内都是可见的,for语句本身只对后面的一条语句起作用(循环体),用了{}是为了将多条语句形成一条块语句,表明for语句的范围,所以没什么特别的
再问: 你不需要分析我凑钱的思路,这是我自己设计出来的,我当然考虑了更多问题 然后我看了你的“你在第一个for循环里面定义的变量在后面的{}范围内都是可见的...所以没什么特别的”,觉得你应该看看我的整个问题
再答: 你如果是在纠结第二段程序中x的使用问题的话,那只能说你对于变量的了解还不够。。。还有第一段程序中循环结束n怎么可能还是0啊?
再问: 你已经知道了问题,那就解释一下吧,如果难解释的话,我就把“你对于变量的了解还不够”作为根据去思考了
再答: 每个变量都有作用域和生存周期,作用域决定了这个变量的可见性,比如第一段程序中的n,自从定义 int n = 0;定义了n之后,n就开始了生存周期,在此之后的代码就能看到n了,也就是为什么n不为0的原因,在main函数结束时,变量被销毁,生存周期结束。。。。 第二段代码,{}外面定义的x在整个main函数可见,而{}内的x只在定义后可见,在第一次输出的时候,{}内的x还没有定义,因此输出之前的x,第二次输出的时候由于此时{}内定义了x,此时会屏蔽外面的x,所以会输出100,{}结束之后,{}内定义的x被销毁,此时再使用x则一律是前面的x
再问: 哦,对,关键在于块里的 int x = 100,虽然看着那个代码我脑子里想的却是一个新的代码,失误 (不小心点到评论里去了,谢谢解答)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
刚装的实况08中文解说版,为啥玩的时候总是出
大连哪家汽车改装公司好,还有地址电话
有谁看过暮光之城,大家看过来评论一下
饮料营销策划方案范文,质量部门查获涉嫌在经
声卡和声卡驱动怎么下载
有会算铁工图纸的吗,若有,请留下QQ
有谁知道这几张图上的人是谁?
宜都市宜昌宜都市第一人民医院-发热门诊地址
七雄争霸勇闯重楼过60层要多少战斗力?
北京有修松下j25录像机吗
寻仙58级金刚每天做什么升级快
本人要开一家影楼,希望各位给取个好听的名字
空间应用摩天大楼不能全部显示,是怎么回事?
DNF系统提示我的号更改名字!可就是改不了·
中路英语怎么说,英语中路的称呼有哪些
推荐资讯
罗马拼音 超 如何拼?比如韩国人 徐智 seo ji
2010年NBA总冠军是哪支球队????????
这个化学物质叫什么?
九寨沟自助游
网恋好吗?我是网恋,我是真心的!也爱她!但
龙之谷周疲劳现在还有吗,有多少?
心理咨询,每天夜晚总是被死亡的问题所困扰得
谁帮我弄游戏人生, 我帮他加20积分
爱一个人最好的表白的方法是什么
谁听过“梦想起航”这首歌
QQ三国图标怎么点
真的好爱好爱他,你们喜欢峰少的哪部电视剧
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?