nian念不忘
2021-07-31 22:12
采纳率: 100%
浏览 81
已结题

C语言 关系运算符、逻辑运算符与表达式的程序阅读题

求解释printf上面的语句,不知道从哪里开始看,
第一题知道或前面为假,但是或后面不知道怎么看。
第二题,!怎么看。求解释。

img
img
img

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

  • qfl_sdu 2021-07-31 23:24
    最佳回答

    第一题:
    x = y-- <=x || x=y!=z;
    其实这个等式是一个错误的等式,因为等号的优先级最低,所以x=y!=z这里x后面的等号会报错。
    所以这里只能猜测出题者的意图,按照这个思路,公式可以分解为:
    (1)y <=x (y=2,x=1,所以y<=x的结果是0)
    (2)x=y!=z这个先计算 y!=z,结果是1,所以x=1
    (3)x = 0 || 1 (0是步骤1的结果,1是步骤2的结果),x = 1
    (4)y-- (y--最后计算),y = 1
    所以显示的结果就是:1,1
    第二题:
    x = x || y && z; 先计算x || y ,x和y都非0,所以x || y 的结果是1,然后计算1 && z ,z=0,所以结果就是0,所以x = 0;
    printf中x && !y || z ,先计算 x && !y ,x=0,所以结果是0,然后计算 0 || z,z=0,所以结果仍然是0,
    所以最后的结果是:0,0

    评论
    解决 1 无用
    打赏 举报

相关推荐 更多相似问题