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

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

為什么我的exit退出不了程序

為什么我的exit退出不了程序

C
mrs_empress 2016-11-13 23:26:58
這為一部分函數 int?courage_stop(){ ????char?i; ????scanf("%c",&i); ????if(i!='q'||'Q')?return?0; ????else?exit(1); }應該怎么改,才能在不按Q或q時繼續,按Q或q時退出
查看完整描述

1 回答

已采納
?
onemoo

TA貢獻883條經驗 獲得超454個贊

判斷部分應該寫成這樣:?

i?!=?'q'?||?i?!=?'Q'

邏輯上這是“i不是q”或“i不是Q”,所以應該是兩個不等于表達式或關系


而在你的寫法中,因為不等于運算符的優先級較高,所以先判斷 i 是否等于'q',這個判斷結果為true or false。再用這個結果和'Q'作或運算,'Q'的值不為0,所以在邏輯運算中被算作是true。所以整個表達式永遠被判斷為true,這造成 if 語句總是執行return 0

查看完整回答
反對 回復 2016-11-13
  • 1 回答
  • 0 關注
  • 1365 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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