吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1051|回复: 7
收起左侧

[已解决] C中碰到的关于递增计算的问题 希望能解答一下

[复制链接]
国群 发表于 2019-11-15 22:55
本帖最后由 国群 于 2019-11-21 22:28 编辑

你好,新人C语言求助,请问for循环中for(x=1;y<=75;y=++x*5+50)当X为1是 后面y的值不是先自增1运算2*5+50等于60,然后X=1 Y=60吗,为什么还是55呀
for(x=1;y<=75;y=x++*5+50)这样修改的话x是先运算在自增 所以x=1 y=55 可是为什么x=2的时候 y还是55呀  求解 谢谢大佬
微信图片_20191115224929.png
微信图片_20191115224941.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

yourGrace 发表于 2019-11-15 23:47
本帖最后由 yourGrace 于 2019-11-15 23:49 编辑

for循环最后那个是,for循环体执行一遍后,再执行的东西,所以在第二行输出

初始化 x=1 后,判断 y 小于 75, 然后执行for循环题里面的内容,然后才是 for 循环括号内最后一个分号的内容。

建议看一下 for 循环的顺序
baronL 发表于 2019-11-15 23:55
第一个图是:y=55,y=2*5+50
第二个是y=55,      y=1*5+50,   y=2*5+50
shuangming 发表于 2019-11-16 00:33
楼主你好
for(表达式1;表达式2;表达式3),表达式3是执行完for循环中的语句后再执行的语句。

对于++x*5+50那道题 过程如下:
输出1,55;
x自增然后参与运算,得60;
将y赋值为60;
输出2,60;
.......

对于x++*5+50那道题 过程如下:
输出1,55;
x参与运算,得55;
将y赋值为55;
x自增,得2;
输出2,55;
......
lbc___ 发表于 2019-11-16 01:05
for()里面最后一句,要等到循环一遍结束时才执行,也就是先执行了打印y,再执行更新y的计算。
 楼主| 国群 发表于 2019-11-19 21:29
zengbing7682300 发表于 2019-11-19 20:05
进入for循环第一执行x = 1,也只执行一次

谢谢已经了解了
kang000 发表于 2019-11-20 09:03
二楼正解,就是for()循环语句的第3个表达式值最后一次执行的,再返回表达式2进行判断;

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-27 00:25

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表