handsomeman6 2021-11-26 09:42 采纳率: 100%
浏览 61
已结题

C语言问题,求解答。

已知int x=0,y=5,z=8;printf(“%d”,(x++,++y,z=y++));输出结果为什么是6?

  • 写回答

3条回答 默认 最新

  • 关注

    逗号表达式,返回最后一个表达式的值

    (x++,++y,z=y++)
    x++=>x=1;
    ++y=>y=6;
    z=y++;++在后先赋值,再加一,++在前,先加一,再赋值。等价于
    z=y;
    y++;
    
    改为
    z=++y; 返回就是7
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月4日
  • 已采纳回答 11月26日
  • 创建了问题 11月26日