亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標題: 請教一個C語言IF語句問題 [打印本頁]

作者: 孤獨行者    時間: 2020-3-4 23:58
標題: 請教一個C語言IF語句問題
如圖所示,我本想第二個IF語句動作的要求是M1等于1,還有K1等于0時才可以動作接通Y0,  但是實際程序中無論M1是否接通,只要K1接通的話Y0就可以接通,,請問為什么是這樣的,,我這樣寫不是代表只有M1==1和K1==0時才可以接通Y0得嘛

捕獲.PNG (14.19 KB, 下載次數: 58)

捕獲.PNG

作者: lovexulu    時間: 2020-3-5 00:07
if(m1==0x01&&k1==0x00)
{
...;
}
作者: adject    時間: 2020-3-5 01:19
改成 if((m1==0X01)&& (k1=0x00))
作者: 孤獨行者    時間: 2020-3-5 08:05
lovexulu 發表于 2020-3-5 00:07
if(m1==0x01&&k1==0x00)
{
...;

這個可以,但是請問為什么會這樣?是它IF語句規定了后面的條件到達了就判斷為真這樣嗎
作者: 孤獨行者    時間: 2020-3-5 08:07
adject 發表于 2020-3-5 01:19
改成 if((m1==0X01)&& (k1=0x00))

可以用兩個括號的嗎?不是只辨別括號內的條件嘛,如果兩個括號不是就錯了嗎?請問你知道為什么我這樣寫不可以執行的嗎
作者: xuan12321    時間: 2020-3-5 08:10
if((m1==0X01)&& (k1==0x00))
{
   yanshi(10);
   if((m1==0X01)&& (k1==0x00))
  {
}
}
作者: xuan12321    時間: 2020-3-5 08:17
if((m1==0x01)&&(k1==0x00))
{
    yanshi(10);
    if((m1==0x01)&&(k1==0x00))
    {
    Y0 =0X00;
    }
}
這樣應該就可以了

作者: 黃youhui    時間: 2020-3-5 08:19
逗號的話時后一句有效,
作者: 黎明初至    時間: 2020-3-5 08:44
你的語法不對,條件&&條件
作者: MOVEORDIE    時間: 2020-3-5 09:49
語法錯了
作者: 想進步要學習    時間: 2020-3-5 12:51
首先,你為什么用逗號?
其次,你需要了解你所設想的,在C語言中是如何書寫表達的,就你這問而言,你需要了解這個&&
&&:并且的意思
if(條件1&&條件2):當條件1為真并且條件2為真執行if語句里面的程序
還有個符號是||
||:或的意思
if(條件1||條件2):當條件1為真或條件2為真執行if語句里面的程序(兩個條件有一個滿足就能進去)
作者: lovexulu    時間: 2020-3-5 12:58
孤獨行者 發表于 2020-3-5 08:05
這個可以,但是請問為什么會這樣?是它IF語句規定了后面的條件到達了就判斷為真這樣嗎

你好,在C語言中if屬于條件選擇語句,結構為if(表達式){語句},其中表達式的含義即運算,在if語言表達式結果會強制轉換為bit型,即1或0,1代表真,0代表假。真則執行后面{}中的語句,假則跳過。然而逗號在C語言中是一種優先級最低的運算符,它作為順序求值,例如 a=(3,4,7) 結果a=7;再例 b=1;c=3;a=(5+(c+1,b);結果a=6;,運算總取最后一個表達式的值。現在再來看你寫的那一句if(表達式1,表達式2)其結果就是if(表達式2),與表達式1無關,他們進行了逗號運算。接下來講括號運算,數學中遵循括號中的表達式優先運算,在C語言中也有效,if((表達式1)&&(表達式2))這樣結果也沒有錯,但是對于單片機來講,它需要多一個括號運算。徒增內耗,并沒有什么意義。
以上如有不正之處還望大佬們指出。
作者: lyong0704    時間: 2020-3-5 13:46

if(m1==0x01&&k1==0x00)

作者: 孤獨行者    時間: 2020-3-6 10:51
黃youhui 發表于 2020-3-5 08:19
逗號的話時后一句有效,

請問這是IF語句規定的嗎?還是C語言規定所有語句都一樣,請教
作者: 孤獨行者    時間: 2020-3-6 10:52
想進步要學習 發表于 2020-3-5 12:51
首先,你為什么用逗號?
其次,你需要了解你所設想的,在C語言中是如何書寫表達的,就你這問而言,你需要 ...

多謝解答
作者: 孤獨行者    時間: 2020-3-6 10:58
lovexulu 發表于 2020-3-5 12:58
你好,在C語言中if屬于條件選擇語句,結構為if(表達式){語句},其中表達式的含義即運算,在if語言表達式 ...

非常感謝你的詳細回答,在你結尾的時候提到雙括號并不是很完美,,那么請問是不是要寫成IF(M0==0X1&&K1==0X0)這樣才是比較好的?還有在請問一下有沒有什么好的書可以說明這些C語言的基礎,想學習學習,非常感謝
作者: 孤獨行者    時間: 2020-3-6 10:59
lyong0704 發表于 2020-3-5 13:46
if(m1==0x01&&k1==0x00)

試了下,這個也可以,,多謝回答
作者: qcm755    時間: 2020-3-6 14:57

改成 if((m1==0X01)&& (k1=0x00))
作者: CZ1    時間: 2020-3-6 16:04
你應該寫if((m1==0)&&(k1==0)) ,你這個寫的語法不對。建議你好好看看c語言的書。
作者: zhy123654    時間: 2020-3-7 09:02
這個是基礎語法知識,&&表示并且并列的意思
作者: TTQ001    時間: 2020-3-7 09:32
語法錯了, 應該寫成
if ((m1==0x01) && (k1==0x00))




歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1