![]() |
發布時間: 2019-7-2 16:33
正文摘要:關于數組的問題,這個程序是讓led1亮滅三次,led2亮滅三次,led1和led2同時亮四次; 在這個程序沒有對led4進行控制,但是在實際電路中led4會隨著led1和led2分別亮一下呢? 請教朋友們這是什么原因 單片機源程序 ... |
ealoo 發表于 2019-7-3 12:01 你只描述了異常,沒有說要實現什么功能,所以不知道如何回復了 |
越界訪問了 |
2448289424 發表于 2019-7-2 23:32 感謝回復,程序里只定義了一個uint i |
2448289424 發表于 2019-7-2 23:30 感謝回復,程序前面只定義了一個uint i,所以就這么用了 |
xianfajushi 發表于 2019-7-2 19:54 感謝回復,我也是發完貼后發現程序引用數組的個數超出了范圍。 那么,超出后,從第5個i開始引用的數組按什么數據引用的呢?Tab0[]={0x02,0x02,0x02,0x03,0,0,0,0,0,0}這樣好像也不對。 |
lihaijun7781 發表于 2019-7-2 16:55 感謝回復,我也是發完貼后發現程序引用數組的個數超出了范圍。 那么,超出后,從第5個i開始引用的數組按什么數據引用的呢?Tab0[]={0x02,0x02,0x02,0x03,0,0,0,0,0,0}這樣好像也不對。 |
uchar code Tab0[]={0x01,0x02,0x03}; P3=Tab0[0] led1;亮 P3=Tab0[1] led2;亮 P3=Tab0[2] led12;亮,不是這樣? 為什么你的P3=Tab0[i]跟for里面的I同一個,,這個會不會到時找不Tab0[i]的值,就亂了,所以LED4會亮 |
P3=Tab0[i] i為什么是跟for里面的i同一個,,不是直接uchar code Tab0[]={0x01,0x02,0x03}; |
這程序后2個循環都超數組了 |
你初始化的數組。, 你用到了。保啊,你已經越界了! |