欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3790|回復(fù): 20
收起左側(cè)

請教一個C語言IF語句問題

  [復(fù)制鏈接]
ID:113626 發(fā)表于 2020-3-4 23:58 | 顯示全部樓層 |閱讀模式
如圖所示,我本想第二個IF語句動作的要求是M1等于1,還有K1等于0時才可以動作接通Y0,  但是實(shí)際程序中無論M1是否接通,只要K1接通的話Y0就可以接通,,請問為什么是這樣的,,我這樣寫不是代表只有M1==1和K1==0時才可以接通Y0得嘛
捕獲.PNG
回復(fù)

使用道具 舉報

ID:687694 發(fā)表于 2020-3-5 00:07 | 顯示全部樓層
if(m1==0x01&&k1==0x00)
{
...;
}
回復(fù)

使用道具 舉報

ID:419968 發(fā)表于 2020-3-5 01:19 | 顯示全部樓層
改成 if((m1==0X01)&& (k1=0x00))

評分

參與人數(shù) 1黑幣 +5 收起 理由
IdeaMing + 5 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:113626 發(fā)表于 2020-3-5 08:05 | 顯示全部樓層
lovexulu 發(fā)表于 2020-3-5 00:07
if(m1==0x01&&k1==0x00)
{
...;

這個可以,但是請問為什么會這樣?是它IF語句規(guī)定了后面的條件到達(dá)了就判斷為真這樣嗎
回復(fù)

使用道具 舉報

ID:113626 發(fā)表于 2020-3-5 08:07 | 顯示全部樓層
adject 發(fā)表于 2020-3-5 01:19
改成 if((m1==0X01)&& (k1=0x00))

可以用兩個括號的嗎?不是只辨別括號內(nèi)的條件嘛,如果兩個括號不是就錯了嗎?請問你知道為什么我這樣寫不可以執(zhí)行的嗎
回復(fù)

使用道具 舉報

ID:46918 發(fā)表于 2020-3-5 08:10 | 顯示全部樓層
if((m1==0X01)&& (k1==0x00))
{
   yanshi(10);
   if((m1==0X01)&& (k1==0x00))
  {
}
}
回復(fù)

使用道具 舉報

ID:46918 發(fā)表于 2020-3-5 08:17 | 顯示全部樓層
if((m1==0x01)&&(k1==0x00))
{
    yanshi(10);
    if((m1==0x01)&&(k1==0x00))
    {
    Y0 =0X00;
    }
}
這樣應(yīng)該就可以了
回復(fù)

使用道具 舉報

ID:592807 發(fā)表于 2020-3-5 08:19 | 顯示全部樓層
逗號的話時后一句有效,
回復(fù)

使用道具 舉報

ID:697917 發(fā)表于 2020-3-5 08:44 | 顯示全部樓層
你的語法不對,條件&&條件
回復(fù)

使用道具 舉報

ID:377210 發(fā)表于 2020-3-5 09:49 | 顯示全部樓層
語法錯了
回復(fù)

使用道具 舉報

ID:633559 發(fā)表于 2020-3-5 12:51 | 顯示全部樓層
首先,你為什么用逗號?
其次,你需要了解你所設(shè)想的,在C語言中是如何書寫表達(dá)的,就你這問而言,你需要了解這個&&
&&:并且的意思
if(條件1&&條件2):當(dāng)條件1為真并且條件2為真執(zhí)行if語句里面的程序
還有個符號是||
||:或的意思
if(條件1||條件2):當(dāng)條件1為真或條件2為真執(zhí)行if語句里面的程序(兩個條件有一個滿足就能進(jìn)去)
回復(fù)

使用道具 舉報

ID:687694 發(fā)表于 2020-3-5 12:58 | 顯示全部樓層
孤獨(dú)行者 發(fā)表于 2020-3-5 08:05
這個可以,但是請問為什么會這樣?是它IF語句規(guī)定了后面的條件到達(dá)了就判斷為真這樣嗎

你好,在C語言中if屬于條件選擇語句,結(jié)構(gòu)為if(表達(dá)式){語句},其中表達(dá)式的含義即運(yùn)算,在if語言表達(dá)式結(jié)果會強(qiáng)制轉(zhuǎn)換為bit型,即1或0,1代表真,0代表假。真則執(zhí)行后面{}中的語句,假則跳過。然而逗號在C語言中是一種優(yōu)先級最低的運(yùn)算符,它作為順序求值,例如 a=(3,4,7) 結(jié)果a=7;再例 b=1;c=3;a=(5+(c+1,b);結(jié)果a=6;,運(yùn)算總?cè)∽詈笠粋表達(dá)式的值。現(xiàn)在再來看你寫的那一句if(表達(dá)式1,表達(dá)式2)其結(jié)果就是if(表達(dá)式2),與表達(dá)式1無關(guān),他們進(jìn)行了逗號運(yùn)算。接下來講括號運(yùn)算,數(shù)學(xué)中遵循括號中的表達(dá)式優(yōu)先運(yùn)算,在C語言中也有效,if((表達(dá)式1)&&(表達(dá)式2))這樣結(jié)果也沒有錯,但是對于單片機(jī)來講,它需要多一個括號運(yùn)算。徒增內(nèi)耗,并沒有什么意義。
以上如有不正之處還望大佬們指出。
回復(fù)

使用道具 舉報

ID:550840 發(fā)表于 2020-3-5 13:46 | 顯示全部樓層

if(m1==0x01&&k1==0x00)
回復(fù)

使用道具 舉報

ID:113626 發(fā)表于 2020-3-6 10:51 | 顯示全部樓層
黃youhui 發(fā)表于 2020-3-5 08:19
逗號的話時后一句有效,

請問這是IF語句規(guī)定的嗎?還是C語言規(guī)定所有語句都一樣,請教
回復(fù)

使用道具 舉報

ID:113626 發(fā)表于 2020-3-6 10:52 | 顯示全部樓層
想進(jìn)步要學(xué)習(xí) 發(fā)表于 2020-3-5 12:51
首先,你為什么用逗號?
其次,你需要了解你所設(shè)想的,在C語言中是如何書寫表達(dá)的,就你這問而言,你需要 ...

多謝解答
回復(fù)

使用道具 舉報

ID:113626 發(fā)表于 2020-3-6 10:58 | 顯示全部樓層
lovexulu 發(fā)表于 2020-3-5 12:58
你好,在C語言中if屬于條件選擇語句,結(jié)構(gòu)為if(表達(dá)式){語句},其中表達(dá)式的含義即運(yùn)算,在if語言表達(dá)式 ...

非常感謝你的詳細(xì)回答,在你結(jié)尾的時候提到雙括號并不是很完美,,那么請問是不是要寫成IF(M0==0X1&&K1==0X0)這樣才是比較好的?還有在請問一下有沒有什么好的書可以說明這些C語言的基礎(chǔ),想學(xué)習(xí)學(xué)習(xí),非常感謝
回復(fù)

使用道具 舉報

ID:113626 發(fā)表于 2020-3-6 10:59 | 顯示全部樓層

試了下,這個也可以,,多謝回答
回復(fù)

使用道具 舉報

ID:703392 發(fā)表于 2020-3-6 14:57 | 顯示全部樓層

改成 if((m1==0X01)&& (k1=0x00))
回復(fù)

使用道具 舉報

ID:560467 發(fā)表于 2020-3-6 16:04 | 顯示全部樓層
你應(yīng)該寫if((m1==0)&&(k1==0)) ,你這個寫的語法不對。建議你好好看看c語言的書。
回復(fù)

使用道具 舉報

ID:437615 發(fā)表于 2020-3-7 09:02 來自觸屏版 | 顯示全部樓層
這個是基礎(chǔ)語法知識,&&表示并且并列的意思
回復(fù)

使用道具 舉報

ID:420836 發(fā)表于 2020-3-7 09:32 | 顯示全部樓層
語法錯了, 應(yīng)該寫成
if ((m1==0x01) && (k1==0x00))
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表