素797 2021-12-21 09:50 采纳率: 87.5%
浏览 33
已结题

for与a++与if属实把我让我迷惑

img

这个是a已经+1,再进if运算

img


但这为什么不-1,再进行if运算,我真的搞不懂了!

  • 写回答

3条回答 默认 最新

  • 於黾 2021-12-21 10:06
    关注

    第一题你理解的就不到位,导致第二题迷惑了。
    第一题的if和break是个迷惑项目,其实重点不是break,而是break后面跟了个continue,所以不管是否执行了break,b+=a永远不会执行到,所以b永远是0不会变
    第二题,有2个--,一个在for里面,一个在print里面
    这里就涉及执行顺序这个基本概念,不理解执行顺序你就根本没法敲代码
    for(a;b;c)这个循环中,表达式a只执行一次,b在每次循环之前执行,c在每次循环之后执行,这个一定要记牢。
    在这里就不存在先取值还是先赋值的问题,因为c就是在赋值,并不取值,所以--y和y--都行,等价的。
    然后,print包在if里面,所以肯定是先执行判断,后执行--y
    最后,print要打印y的值,如果是y--,那么先打印y值再--,如果是--y,那么先--再打印y值

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月29日
  • 已采纳回答 12月21日
  • 创建了问题 12月21日

悬赏问题

  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
  • ¥15 前端echarts坐标轴问题
  • ¥15 ad5933的I2C
  • ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
  • ¥15 数学建模求思路及代码
  • ¥50 silvaco GaN HEMT有栅极场板的击穿电压仿真问题