在C中求和3d数组的元素

时间:2015-04-13 09:57:51

标签: c arrays 3d sum

我试图在C中对3d数组的元素求和。代码识别位置检查[1] [1] [0] = 4并在循环到达此位置时将4加到sum。但是对于数组的其余部分,它会继续再次添加此值,然后再次为数组的其余位置添加总和。谁能明白为什么?

#include <stdio.h>

main() {
    int check[3][3][3]={ 0 };
    int size=2;
    int i,j,k,sum=0;

    check[1][1][0]=12;

        for(k=0;k<size;k++) {
            for(j=0;j<size;j++) {
                for(i=0;i<size;i++) {
                    printf("i=%d, j=%d,k=%d, checkijk=%d  ",i,j,k,check[i][j][k]);
                    sum+=sum+check[i][j][k];
                    printf("sum=%d\n", sum);
                }
            }
        }
printf("The sum is %d\n",sum);
}

1 个答案:

答案 0 :(得分:1)

sum+=sum+check[i][j][k];

应该是

sum+=check[k][j][i];

如果您想要汇总所有值int size = 2;必须为int size = 3;