问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于for循环语句后的分号问题

发布网友 发布时间:2022-04-29 01:25

我来回答

4个回答

热心网友 时间:2022-06-27 13:08

for(表达式1;表达式2;表达式3) 语句

执行过程如下:
1) 先求解表达式1。
2) 求解表达式2,若其值为真,则执行for语句中指定的内嵌语句,然后执行下面第3)步;若其值为假,则结束循环,转到第5)步。
3) 求解表达式3。
4) 转回上面第2)步继续执行。
5) 循环结束,执行for语句下面的一个语句。

有分号时就是没有循环体时,等于是直接跳到3)步,去求表达式3了,也就是表达式3成为循环体,等价于
for(i=count; i >=1 ;i--)
sum=sum+i;
此后printf打出的是它执行完时sum的终值.

而没分号时循环体为printf语句,也就是说第一次并不是求表达式3,而是先去执行printf了,----这就是为什么第一次打出的sum总为0!!!也就是printf先于sum += i--执行了.

总之,两种情况下,sum += i--语句执行次数是一样的,但在没分号情况下,因printf要比它早执行一次,因而最后sum终值没有被打出来而已.

热心网友 时间:2022-06-27 13:09

这是因为如果加了分号,那么最后一次是I=0,显然此时不满足i>=1因此循环体printf("\nTotal of the first %d number is %ld;\ni=%d.\n",count,sum,i)不执行,但是实际上SUM的值仍然是正确的,可以在程序最后加一句PRINTF语句以验证,关于FOR语句的更多资料请查阅自己的C语言教材。

热心网友 时间:2022-06-27 13:09

楼上两个说的都是对的.
有没有分号都会加到1. 只是当i=1时进入循环体,这时printf语句执行的是加到2的结果,printf语句执行之后才会执行sum+=i--,然后sum才加到1了,这时i=0,不会再执行printf语句显示加到1的结果.
如楼上所说,你可以再加一条printf语句查看最后结果.

热心网友 时间:2022-06-27 13:10

不是的,不管时候有分号,都会加到1的.
执行流程是先判断是否i>=1然后sum += i--,也就是说在i=1的时候还要进入循环体内执行一次."sum += i--"就是循环体
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
你好。本人最近想入手个 本本 知道你是高手望给点高见 3K以内。 惠普(hp)hp431(qg643pa) 与联想(lenovo)g460al-ith(h)该买哪一... 惠普4核1G独立显卡2G-4G内存的笔记本电脑有哪些型号的比较好?价位是多... hp 431-qg597怎么样?惠普质量真很差吗?它的商务本怎么样 hp431 qg597无线上网卡插在那里? 惠普HP431(QG643PA)笔记本经常死机自动重启 陆金所 德众金融理财可靠吗? 平安为什么建陆金所 陆金所有什么风险吗 100分问题:请问汕头市区哪里有卖“节节风”的中草要。 matlab中的for语句后加分号,为什么执行仍然没有错误? 在for语句后面加了个分号,杯具了 C语言中if,for后加不加分号都可以么? for()语句后面加分号与不加分号结果为什么不同 c语言中for后面的()加分号;吗? 请问c语言中for循环后面加上分号和不加分号有什么区别吗? c语言中for语句最后带分号是什么意思 在c语言中,for循环语句后面有的有分号,分号是什么意思?谢谢! for语句后有没有分号 C语言中 For语句后面的括号里有两个分号是什么意思啊? C语言for括号后加分号什么意思 在C语言中,for语句的后面加分号和不加分号有何不同? 联想笔记本如何开启无线网络开关(无线网络打叉) 为什么任何形状的泡泡棒吹出来的泡泡都是圆形的?有视频讲解吗? 谁有泡泡视频网站 泡泡视频歌曲 泡泡比赛视频 手机百度旧版本 怎么下载手机百度的旧版本 如何下载手机百度旧版本?? c语言。刚开始学。问一个小问题。如果我在for(;;)循环语句后面加了个分号。计算机怎么运行 for语句后的分号代表什么,这句for循环语句怎么理解? c++中for循环括号后加分号的作用 C语言中for循环后面加;什么意思? 商业银行采用的贷款五级分类方法,属于信用风险的( )管理。 用流量打电话,1G的流量能打多久,大概一次电话七八分钟。。。_百度知... 移动1个g流量两个人能视频多久 1G流量可以视频多久? 手机1G流量能QQ视频通话多久 在进行钉钉会议时拍照画面会静止,会算成退出会议吗? 钉钉视频会议画面为啥时隐时现 西葫芦炒鸡蛋的营养价值 西葫芦炒鸡蛋的热量是多少? 西葫芦炒鸡蛋怎么做才好吃?炒制顺序要牢记、清脆爽口营养多 有个windows系统的动态壁纸,一个二次元的形象站在屏幕右侧,头还会跟着鼠标动。想用。 wallpaper engine怎么让壁纸跟着鼠标移动? 求电脑桌面图片(可以鼠标移动就有东西跟着动,哎呀有点类似于QQ空间代码里的那种鼠标~)谢啦 怎么设置电脑动态壁纸?用鼠标划过还有波澜那种,还有鱼随机地游动 谁知道这个壁纸是哪个软件 在哪下载呢 小鸡眼睛是跟随鼠标移动的 网页主页上的背景动态的,随鼠标移动汇聚,这算是什么网页设置