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

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

C語言中的if表達式

C語言中的if表達式

qq_莫非 2017-10-12 12:35:00
if(!strcmp(recvbuf,"quit")){//判斷用戶輸入的是否是quit ????????????????????break; ?????????????????}這段代碼,如果recvbuf和quit相等,strcmp返回的不是真。if()里面不是為真的時候才執行下面的代碼嗎?為什么加了!號才執行
查看完整描述

2 回答

已采納
?
___C___

TA貢獻168條經驗 獲得超109個贊

簡單說明:

一:當recvbuf和"quit"相等時,strcmp返回0,即 strcmp(recvbuf,"quit"))? 為 false

二:在false加了!,取反,即 !strcmp(recvbuf,"quit"))? 為 true

三:if(true) 即執行 break;

謝謝采納。

查看完整回答
1 反對 回復 2017-10-12
?
芝麻大點

TA貢獻7條經驗 獲得超1個贊

strcmp(s1,s2) 判斷兩個字符串s1和s2是否相同,相同返回true ,不同返回false;

if()如果括號里面是true,則執行if里面的代碼,里面有個“!”,那么strcmp(s1,s2)的返回值是false才執行if里面的代碼,這樣的話if(!strcmp(recvbuf,"quit"))則是如果recvbuf和“quit”不相等,才執行if里面的代碼,相等是不執行的。

查看完整回答
反對 回復 2017-10-12
  • qq_莫非
    qq_莫非
    那為什么我測試的時候是相等的時候才執行,和你說的完全相反
  • 2 回答
  • 0 關注
  • 2201 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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