作者 主題: C語言 switch 換成 IF else 的寫法?  (閱讀 3934 次)

0 會員 與 1 訪客 正在閱讀本文。

kinghun117

  • 可愛的小學生
  • *
  • 文章數: 15
    • 檢視個人資料
C語言 switch 換成 IF else 的寫法?
« 於: 2010-01-14 11:08 »
又要請教各位大大

下面是我用 switch 來控制 data1,data2,data3,data4,data5,data6,data7 的方法

但有沒有方法把 switch 換成 IF else 來寫?

麻煩各位高手大大指點  

程式碼有一點長.. 寫的很亂..

感恩 ^^"
                    if(!Held_data_size) {
         unsigned short data1;         
         Held_data_read_point = 0;
         data1 = next_dt_sub();
         switch(data1) {
         case 0x41:
            {
            unsigned short data2;
            data2 = next_dt_sub();
            switch(data2) {
            case 0x42:
               {
                 unsigned short data3;
               data3 = next_dt_sub();
               switch(data3) {
               case 0x43:
                       {
                            unsigned short data4;
                            data4 = next_dt_sub();
                            switch(data4) {                
                            case 0x44:
                                    {
                               unsigned short data5;
                               data5 = next_dt_sub();
                               switch(data5) {      
                          case 0x45:
                                       {
                                       unsigned short data6;
                                       data6 = next_dt_sub();
                                       switch(data6) {      
                                  case 0x46:
                                             {
                                       unsigned short data7;
                                             data7 = next_dt_sub();
                                             switch(data7) {      
                                        case 0x47:                          
                                                  {
                                                     Held_data[1] = 0x31;                                                                               Held_data[0] = 0x1B;
                                                     Held_data[2] = 0x32;
                                                     Held_data[3] = 0x33;
                                                     Held_data[4] = 0x34;
                                                     Held_data[5] = 0x35;
                                                     Held_data[6] = 0x36;
                                                     Held_data[7] = 0x37;
                                                     Held_data_size = 7;
                                                }   
                                        break;      
                   default:
            Held_data[0] = data1;
            Held_data[1] = data2;
            Held_data[2] = data3;
            Held_data[3] = data4;
            Held_data[4] = data5;
            Held_data[5] = data6;
            Held_data_size = 6;
            break;
                 }
                     }
                   default:
            Held_data[0] = data1;
            Held_data[1] = data2;
            Held_data[2] = data3;
            Held_data[3] = data4;
            Held_data[4] = data5;
            Held_data_size = 5;
            break;
                 }
                     }
                   default:
            Held_data[0] = data1;
            Held_data[1] = data2;
            Held_data[2] = data3;
            Held_data[3] = data4;
            Held_data_size = 4;
            break;
                 }
                     }
                   default:
            Held_data[0] = data1;
            Held_data[1] = data2;
            Held_data[2] = data3;
            Held_data_size = 3;
            break;
                 }
                     }
                   default:
            Held_data[0] = data1;
            Held_data[1] = data2;
            Held_data_size = 2;
            break;
                 }
                }
         default:
            Held_data[0] = data1;
            Held_data_size = 1;
            break;
                 }
                }
         continue;                           
                        }
                       }
« 上次編輯: 2010-01-14 11:25 由 kinghun117 »