void main() { inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; i

1个回答

  • 2维数组a[3][4]={{1,3,5,7}{9,11,13,15}{17,19,21,23}}这样子可能楼主清楚些,

    int(*p)[4]=a也就是把a2维数组赋给2维指针p,接下来执行循环

    首先 i=0,j=0 k=k+*(*(p+0)+0)也就是k+a数组的0 0就是1,k=1;

    然后 i=0,j=1 k=k+*(*(p+0)+1)也就是k+a数组的0 1就是3,k=4;

    然后j=2不符合 跳出j的循环 执行i的循环

    i=1,j=0 k=k+*(*(p+1)+0)就是k+a数组的1 0就是9,k=13

    后面就类推一直到i=3时候不符合跳出全部循环,

    就是k一直累加a 2维数组每行的头2个到了60