m0_60698563 2021-08-04 16:29 采纳率: 88.9%
浏览 46
已结题

C语言逻辑运算符问题

img

为什么计算结果为a=0,b=0呢? 我得到的结果是a=1,b=0

  • 写回答

2条回答 默认 最新

  • 八云黧 2021-08-04 16:40
    关注

    按优先级来看,详情请查阅C语言运算符优先级
    括号优先级最高为1,所以计算b=!'c',所以b=0,该处也是0
    原式替换为a=8>4-0&&5>3+'a'%6=='b'
    其次取余运算优先级最高为3,所以计算'a'%6,'a'=97,97%6=1
    原式替换为a=8>4-0&&5>3+1=='b'
    其次加减运算优先级最高为4,所以4-0=4 3+1=4
    原式替换为a=8>4&&5>4=='b'
    其次大于号优先级最高为6,所以8>4=1,5>4=1
    原式替换为a=1&&1=='b'
    其次判断等于/不等于的运算优先级最高为7,‘b'=98,1不等于98
    原式替换为a=1&&0
    其次逻辑与的运算优先级最高为11,1&&0=0
    原式替换为a=0

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

报告相同问题?

问题事件

  • 系统已结题 8月21日
  • 已采纳回答 8月13日
  • 请采纳用户回复 8月4日
  • 创建了问题 8月4日