2012-05-07 24 views
-3

确定这是一个简单的C代码,但由于一些未知的原因,程序拒绝编译并给段故障11请帮我有人可以帮我把我的大脑休息“C语言”

#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; 
     } 
    } 
} 
+9

'拒绝编译'或'给分段错误'? – asaelr

回答

15

矩阵一个8乘8阵列;每个循环都经历了9次迭代。

4

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

在你的for-loops中,你从0变成size。

这就是您的分段故障的原因。

相关问题