#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 關注
- 1732 瀏覽
添加回答
舉報
0/150
提交
取消