白小水i 2021-11-16 13:48 采纳率: 83.3%
浏览 76
已结题

这段代码怎么分析啊,自己打的绕进去了,C语言

img


为什么a=n++结果是4,直接输出n++结果是5,还有++n是6,这些都是怎么看的

  • 写回答

3条回答 默认 最新

  • 「已注销」 2021-11-16 13:56
    关注

    n++是先使用这个变量再自增1
    ++n先自增再使用
    第37 38行,y赋值2,n赋值3
    第39行,nextnum = (y + n++) * 6。 这里是n++(先使用n,nextnum = (2+3)*6,也就是30,使用之后n再自增1,那么这时n=4了)
    第41行,a = n++,先使用n,那么a=4, n再自增1,那么这时n=5了
    第43行,第一个n++,先使用n,打印5,后面那个++n,先自增再使用打印6
    为什么第43行第一个n++没有自增呢,因为自增是在分号之后自增的(也就是这句语句彻底执行完才自增)

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

报告相同问题?

问题事件

  • 系统已结题 11月24日
  • 已采纳回答 11月16日
  • 创建了问题 11月16日

悬赏问题

  • ¥15 mifare plus卡认证
  • ¥30 LSTM预测结果是一条直线
  • ¥15 stnodeeditor自定义控件
  • ¥15 SDO如何更改STM32的波特率
  • ¥15 elasticsearch
  • ¥15 uniapp的uni-datetime-picker组件在ios端不适配
  • ¥15 前端 uniapp App端在离线状态如何使用modbus 连接手机蓝牙进行读写操控机器?
  • ¥15 SQL语句根据字段自动生成行
  • ¥500 “掌声响起来”软件(不确定性人工智能)
  • ¥500 我要找大模型一体机产品手册和应用案例