电子渣男 2022-01-14 11:21 采纳率: 85.7%
浏览 25
已结题

关于不理解逻辑运算的问题

main()
{
    int x,y,z;
    x=y=z=-1;
    printf("%d%d%d",x,y,z);
    ++y&&++x||++z;
    printf("%d%d%d",x,y,z);
}

为什么第二次打印x还是-1呢

  • 写回答

3条回答 默认 最新

  • Rattenking Python领域优质创作者 2022-01-14 11:29
    关注

    ++y&&++x||++z;

    1. 这个表达式先执行++y&&++x
    2. 同时满足true才返回true,但是++y是0所以不会执行后边的++x
    3. 也就是说:++y&&++x这句执行完成,y=0,x=-1(x不变)
    4. 再执行 0 || ++z(||表示只要有个true,就返回true,不执行后边代码)
    5. 由于前边执行返回0,是false,所以执行后边++z,最后z=0
    6. 最后printf("%d%d%d",x,y,z)输出-1,0,0
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月22日
  • 已采纳回答 1月14日
  • 创建了问题 1月14日

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题