为了账号安全,请及时绑定邮箱和手机立即绑定

关于c语言的条件问题

关于c语言的条件问题

C
街角疯 2016-09-24 14:51:07
#include "stdio.h" void main() { int a=5,b=4,c=3,d=2; if(a>b>c) printf("%d\n",d); else if((c-1>=d)= =1) printf("%d\n",d+1); else printf("%d\n",d+2);  }为什么第一个if语句不成立吗?第二个else if的语句应该怎么理解?
查看完整描述

2 回答

已采纳
?
慕粉3491951

TA贡献12条经验 获得超0个赞

if(a > b > c)

=>if((a > b) > c)

=>if((5 > 4) > 3)

=>if(1 > 3)

=>if(0)

else if

c-1=2

2>=d成立,成立返回1

所以1==1成立


查看完整回答
反对 回复 2016-09-24
  • 街角疯
    街角疯
    原来是这样解读的啊!我当成数学的方式思考了!
?
da多多

TA贡献2条经验 获得超0个赞

第一个if语句a>b>c首先程序从左往右读,a>b成立,值为1,判断变成1>c,所以第一个if不成立,else if语句理解可以将“==“号左右拆分单独看,左边(c-1>=d)成立,值为1,右边为1,所以else if语句成立

查看完整回答
反对 回复 2016-09-24
  • 2 回答
  • 0 关注
  • 1369 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信