找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1578|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

C語言賦值數(shù)組某一位問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:479134 發(fā)表于 2022-9-29 22:02 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
unsigned char UDM[8]={0x5A,0xA5,0x05,0x82,0x50,0x00,0x00,0x00};
unsigned char save_buf[44];     //存放的是EEPROM數(shù)據(jù)

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

這樣一次賦值下去  將save_buff[44]個(gè)數(shù)值全部賦值完畢

我用的是
        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);                   //將數(shù)發(fā)送給串口屏               
        }

得到的數(shù)據(jù)是不正確地  還望各位能再指導(dǎo)一下 是哪里錯(cuò)了,或者有沒有更好的方法,感謝
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:629502 發(fā)表于 2022-9-30 08:30 | 只看該作者
是要把save_buf[44]每?jī)蓚(gè)賦值給UDM[6]和UDM[7]吧,你這個(gè)明顯i=43時(shí)數(shù)組越界了
回復(fù)

使用道具 舉報(bào)

板凳
ID:123289 發(fā)表于 2022-9-30 08:31 | 只看該作者
把得到的顯示出示看看。
回復(fù)

使用道具 舉報(bào)

地板
ID:592807 發(fā)表于 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;
回復(fù)

使用道具 舉報(bào)

5#
ID:146878 發(fā)表于 2022-9-30 10:41 | 只看該作者
UDM[5] = UDM[5]+i*5;不是每次加5,UDM[5] +=5;才是。另外i>42時(shí)數(shù)組溢出。
回復(fù)

使用道具 舉報(bào)

6#
ID:59202 發(fā)表于 2022-9-30 21:43 | 只看該作者
本帖最后由 xxxevery 于 2022-10-1 21:26 編輯

樓主是不是想發(fā)這樣的數(shù)據(jù):{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);                   //將數(shù)發(fā)送給串口屏               
        }
請(qǐng)參考
回復(fù)

使用道具 舉報(bào)

7#
ID:161164 發(fā)表于 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);                   //將數(shù)發(fā)送給串口屏               
  7.         }
復(fù)制代碼


回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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