亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

第一個if語句為何不滿足?

第一個if語句為何不滿足?

C
_dvure 2017-02-14 13:31:31
#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 回答

已采納
?
習慣受傷

TA貢獻885條經驗 獲得超1144個贊

a>b>c,這種判斷邏輯上是不允許的,a>b,5>4結果為1,所以:1>3為0,所以判斷失敗。
查看完整回答
1 反對 回復 2017-02-15
?
_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?進行比較

查看完整回答
2 反對 回復 2017-02-14
?
慕粉2231066848

TA貢獻4條經驗 獲得超4個贊

a>b>c這樣的表達式是不允許的,應該寫成a>b&&b>c才對,第二個if也有問題,等號的左端必須是左值,就是說不能是表達式應該改成(d<=c-1),而且也不需要將這個表達式的結果和1比較,這個邏輯式為真,結果就是1,執行if后語句;為假,結果就是0,執行else后的語句。加上“==1”就不知道是怎么回事了,應該要去掉的吧

查看完整回答
1 反對 回復 2017-02-15
?
半枯

TA貢獻101條經驗 獲得超45個贊

if里面不能連續判斷,要a>b&&a>c&&b>c,

查看完整回答
1 反對 回復 2017-02-14
?
Nullsilence

TA貢獻10條經驗 獲得超5個贊

運算符都有優先級 與 結合方向的 , 你該想想第一個條件最先判斷哪個 > 號?

查看完整回答
反對 回復 2017-02-15
  • 2 回答
  • 0 關注
  • 1732 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號