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

標題: C語言賦值數組某一位問題 [打印本頁]

作者: 234134519    時間: 2022-9-29 22:02
標題: C語言賦值數組某一位問題
unsigned char UDM[8]={0x5A,0xA5,0x05,0x82,0x50,0x00,0x00,0x00};
unsigned char save_buf[44];     //存放的是EEPROM數據

如何將UDM[5] 每次+5    //存放的是地址
將UDM[6] = save_buf[0];    UDM[7] = save_buf[1];

這樣一次賦值下去  將save_buff[44]個數值全部賦值完畢

我用的是
        for(i=0;i<44;i++)                                                        
        {
                UDM[5] = UDM[5]+i*5;
                UDM[6] = save_buf[ i];
                UDM[7] = save_buf[i+1];
                PrintArray4(UDM, 8);                   //將數發送給串口屏               
        }

得到的數據是不正確地  還望各位能再指導一下 是哪里錯了,或者有沒有更好的方法,感謝

作者: simple_tt    時間: 2022-9-30 08:30
是要把save_buf[44]每兩個賦值給UDM[6]和UDM[7]吧,你這個明顯i=43時數組越界了
作者: yzwzfyz    時間: 2022-9-30 08:31
把得到的顯示出示看看。
作者: 黃youhui    時間: 2022-9-30 08:58
UDM[5] = UDM[5]+i*5;這不是累加嗎?
i = 0;       UNM[i] = 0 + 0;
i = 1;       UNM[i] = 0 + 5;
i = 2;       UNM[i] = 5 + 10;
i = 3;       UNM[i] = 15 + 15;
i = 4;       UNM[i] = 35 + 20;
作者: pdwdzz    時間: 2022-9-30 10:41
UDM[5] = UDM[5]+i*5;不是每次加5,UDM[5] +=5;才是。另外i>42時數組溢出。
作者: xxxevery    時間: 2022-9-30 21:43
本帖最后由 xxxevery 于 2022-10-1 21:26 編輯

樓主是不是想發這樣的數據:{0x5A,0xA5,0x05,0x82,0x50,0x00,save_buf[0],save_buf[1]};
                                       {0x5A,0xA5,0x05,0x82,0x50,0x05,save_buf[2],save_buf[3]};
                                       {0x5A,0xA5,0x05,0x82,0x50,0x0A,save_buf[4],save_buf[5]};
                                       ......
那程序我覺得這樣改
for(i=0;i<22;i++)                                                        
        {
                UDM[5] =i*5;
                UDM[6] = save_buf[ i*2];
                UDM[7] = save_buf[i*2+1];
                PrintArray4(UDM, 8);                   //將數發送給串口屏               
        }
請參考
作者: lkc8210    時間: 2022-9-30 21:47
  1.         for(i=0;i<22;i++)                                                        
  2.         {
  3.                 UDM[5] = UDM[5]+i*5;
  4.                 UDM[6] = save_buf[ i*2];
  5.                 UDM[7] = save_buf[(i*2)+1];
  6.                 PrintArray4(UDM, 8);                   //將數發送給串口屏               
  7.         }
復制代碼







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