#include <stdio.h>int 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);}
2 回答
_Del
TA贡献5条经验 获得超4个赞
第一个if语句 if(a>b&&a>c&&b>c) 另外第二个if语句 else if((c-1>=d)==1) 是不可以这样判断的 (c-1>=d)的结果是boolean类型 不可以与 int类型的 1 进行比较
慕粉2231066848
TA贡献4条经验 获得超4个赞
a>b>c这样的表达式是不允许的,应该写成a>b&&b>c才对,第二个if也有问题,等号的左端必须是左值,就是说不能是表达式应该改成(d<=c-1),而且也不需要将这个表达式的结果和1比较,这个逻辑式为真,结果就是1,执行if后语句;为假,结果就是0,执行else后的语句。加上“==1”就不知道是怎么回事了,应该要去掉的吧
- 2 回答
- 0 关注
- 1627 浏览
添加回答
举报
0/150
提交
取消