如何使用easyx由于一段代码而出现闪退?(语言-c语言)

使用easyx由于一个代码的闪退


typedef struct {
    int num;//武器编号
    int intensify;//强化等级
    char name[15]; //武器名称
    int atk; //攻击力
    int magicatk;//魔法攻击
    int pp;  //所需体力
    int mp;//所需魔力值
    IMAGE* p;  //贴图
    TCHAR story[100];//武器描述
    int money;//出售金币

}weapon;//结构体 - 武器
weapon handbag[24];//武器背包
for (int i = 0; i < 24; i++)//背包数组初始化
                handbag[i] = { -1,0,NULL,0,0,0,0,NULL,NULL,0 };
for (int i = 0; i < 6; i++) //武器贴图打印
        for (int j = 0; j < 4; j++) {
                    drawAlpha(&img_empt, 400 + j * 40, 130 + i * 40);//打印的空白贴图
                    if (handbag[5 * i + j].p != NULL);
                    //drawAlpha(handbag[5 * i + j].p, 400 + j * 33, 130 + i * 33);//打印的武器
                
                }

注释掉的一段代码就是问题,如果我加上这段代码,打开背包的时候,就会闪退,注释掉就不会。
感谢!

i最大值是5,j最大值是3,5*i+j=28,handbag[28]越界了吧。