for循环下标超出数组范围程序时如何执行?

2019-07-15 15:55发布

小弟愚昧,弱弱的问一个问题,如下面程序,for循环语句中下标超出数组个数范围,当i=4的时候,程序会如何执行?

void KeyDriver()
{
unsigned char i,j;
static unsigned char backup[4][4] = {
   {1,1,1,1}, {1,1,1,1}, {1,1,1,1}, {1,1,1,1},
};

for (i = 0; i <= 4; i++)
{
  for (j = 0; j <= 4; j++)
  {
   if (backup[j] != KeySta[j])
   {
    if (backup[j] == 0)
    {
     KeyAction(KeyCodeMap[j]);
    }                              
    backup[j] = KeySta[j];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
   }
  }
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。