-4

好的,这是一个简单的 C 代码,但由于某些未知原因,程序拒绝编译并给出分段错误 11 请帮助我

#include <stdio.h> 

typedef struct {
    int P_answer[9];
    int number;
} BOX;

int main()
{
    BOX Matrix[8][8];
    int i,j;
    int k;
    for(i=0;i<9;i++){
        for(j=0;j<9;j++){
            Matrix[i][j].number=0;
            Matrix[i][j].P_answer[0]=1;
            Matrix[i][j].P_answer[1]=2;
            Matrix[i][j].P_answer[2]=3;
            Matrix[i][j].P_answer[3]=4;
            Matrix[i][j].P_answer[4]=5;
            Matrix[i][j].P_answer[5]=6;
            Matrix[i][j].P_answer[6]=7;
            Matrix[i][j].P_answer[7]=8;
            Matrix[i][j].P_answer[8]=9;
        }
    }
}
4

2 回答 2

15

矩阵是一个 8×8 数组;您的每个循环都经过 9 次迭代。

于 2012-05-07T00:20:21.550 回答
4

数组的索引从 0 到 (size-1)。

在你的 for 循环中,你从 0 到 size。

这就是你的分段错误的原因。

于 2012-05-07T00:21:37.727 回答