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

標(biāo)題: C語言if語句不滿足條件執(zhí)行 其它怎么寫?附代碼 [打印本頁]

作者: 非凡科技    時(shí)間: 2021-4-15 15:11
標(biāo)題: C語言if語句不滿足條件執(zhí)行 其它怎么寫?附代碼
   while(1)
                      {  {if (sw1_in==0)//狀態(tài)1
                          A=2;
                          TR0=1;}
                        {if (sw1_in==0&&sw2_in==0)//狀態(tài)2
                          A=4;
                          TR0=1;}
              {if (sw1_in==1&&sw2_in==1)//狀態(tài)3
                          A=10;
                          TR0=1;}
                         break; }         
現(xiàn)在問題是為什么沒有滿足狀態(tài)2  卻執(zhí)行了狀態(tài)1 狀態(tài)1也沒有滿足啊   我只是sw2_in輸入了低電平  我想這幾個(gè)條件都沒滿足  去執(zhí)行另一個(gè)任務(wù)下面怎么寫啊    小白一枚特來求助


作者: DSFGSF    時(shí)間: 2021-4-15 15:11
本帖最后由 DSFGSF 于 2021-4-16 10:35 編輯

你的大括號(hào)有問題,if語句的括號(hào)不是你這樣加的.......還有,這種常量判斷用switch更好,判斷好壞的可以在switch里面寫:
while(1)
{
  switch(sw1_in)
  {
      case 0:
      if(sw2_in==0)
     {
          xxxxxxxxx;
      }
      else
     {
          xxxxxxxxx;
     }
    break;
    case 1:
    if(sw2_in==0)
   {
        xxxxxxxxx;
    }
    else
   {
        xxxxxxxxx;
   }
   break;
  }
}
作者: man1234567    時(shí)間: 2021-4-15 17:09
進(jìn)Main之后首先要初始化系統(tǒng),比如在循環(huán)外先將 sw1_in=1 試試。
作者: ANT1987    時(shí)間: 2021-4-15 17:53
我看你的程序花括號(hào)有問題吧,還有你的while(1)循環(huán)里面為什么會(huì)放break???核對(duì)一下:
while(1)
    {  
      if(sw1_in==0)//狀態(tài)1
       {
          A=2;
          TR0=1;
       }
      if(sw1_in==0&&sw2_in==0)//狀態(tài)2
       {
          A=4;
          TR0=1;
       }
      if(sw1_in==1&&sw2_in==1)//狀態(tài)3
       {
          A=10;
          TR0=1;
       }
       break; //這里如果放break;程序判斷三次之后就跳出循環(huán)了
    }
作者: 非凡科技    時(shí)間: 2021-4-15 21:29
ANT1987 發(fā)表于 2021-4-15 17:53
我看你的程序花括號(hào)有問題吧,還有你的while(1)循環(huán)里面為什么會(huì)放break???核對(duì)一下:
while(1)
    ...

這是一個(gè)檢測(cè)  檢測(cè)完要退出去的  如果不加退出  就一直死在這里了   前面還有條件呢  這個(gè)程序就是按下按鍵檢測(cè)幾個(gè)IO的狀態(tài)  
作者: 名字不是重點(diǎn)    時(shí)間: 2021-4-15 22:20
如果能確定要判斷的值(多個(gè)),就用switch。。。case
如果確定要判斷的值不等于某值,就用 if (regx != value)
作者: cheney03    時(shí)間: 2021-4-16 08:55
用 if else if else
if(條件1)
        語句1;
else if(條件2)
        語句2;
else (條件3)
        語句3;
先判斷條件1,條件1不滿足,再去判斷條件2,條件2不滿足,再判斷條件3,以此類推
作者: cheney03    時(shí)間: 2021-4-16 08:59
或者用switch case,比較直觀

switch(表達(dá)式){
    case 整型數(shù)值1: 語句 1,break;
    case 整型數(shù)值2: 語句 2,break;
    ......
    case 整型數(shù)值n: 語句 n,break;
    default: 語句 n+1,break;
}
作者: 啊哈哈123    時(shí)間: 2021-4-16 09:16
首先 你這邊確定狀態(tài)1,2,3是不是互斥,如果是互斥的那就用上if elseif ,而且判斷條件里就要有sw1_in&&sw2_in總共有四種可能,什么狀態(tài)下執(zhí)行什么。還是說狀態(tài)之間是獨(dú)立的,你現(xiàn)在的語法是狀態(tài)2條件滿足,狀態(tài)1 會(huì)先執(zhí)行。
作者: 非凡科技    時(shí)間: 2021-4-16 10:07
cheney03 發(fā)表于 2021-4-16 08:59
或者用switch case,比較直觀

switch(表達(dá)式){

這是按下按鍵后檢測(cè)幾個(gè)IO的電平  switch括號(hào)里面的表達(dá)式寫什么?日出我也想怎么寫但是  這個(gè)不是次數(shù)之類的變量啊  求解答
作者: 非凡科技    時(shí)間: 2021-4-16 10:19
這是一個(gè)水位檢測(cè)的程序 ,我只是先用兩個(gè)水位試試,最終是四個(gè)水位探頭,由低到高排列水位1.2.3.4檢測(cè)出水位信號(hào)后發(fā)送遙控信號(hào)(在水位幾就閃幾次)由于水位傳感器的排列 所以正常的水位信號(hào)是1234連續(xù)的  如果2號(hào)探頭壞掉  在水位到達(dá)3號(hào)位置時(shí)會(huì)只有1.3出現(xiàn)低電平所以需要報(bào)警提示有探頭出現(xiàn)問題  我就想要這個(gè)效果
作者: yhang18    時(shí)間: 2021-4-16 10:30
你的狀態(tài)2包括狀態(tài)1的情況,話句話說,(sw1_in==0&&sw2_in==0)
                                                       (sw1_in==0&&sw2_in==1)都會(huì)導(dǎo)致執(zhí)行(sw1_in==0)




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