用C语言对三维数组的元素求和

用C语言对三维数组的元素求和,c,arrays,3d,sum,C,Arrays,3d,Sum,我正在尝试用C对3d数组的元素求和。代码识别出位置检查[1][1][0]=4,并在循环到达该位置时向和添加4。但是,对于数组的其余部分,它会继续再次添加此值,然后再次添加数组其余位置的总和。有人知道为什么吗 #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&l

我正在尝试用C对3d数组的元素求和。代码识别出位置检查[1][1][0]=4,并在循环到达该位置时向和添加4。但是,对于数组的其余部分,它会继续再次添加此值,然后再次添加数组其余位置的总和。有人知道为什么吗

#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);
}
#包括
main(){
整数检查[3][3][3]={0};
int size=2;
int i,j,k,和=0;
勾选[1][1][0]=12;
对于(k=0;k
应该是

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

如果你想把所有的值求和
int size=2;
必须是
int size=3;

“代码识别出这个位置
检查[1][1][0]=4
。”你的意思是
检查[1][1][0]=12
?谢谢你,很抱歉这个问题不清楚。这是我的一个粗心错误。
sum+=check[k][j][i];