添加二维数组行

时间:2011-03-02 06:18:20

标签: c arrays for-loop

for (row=0; row<8; row++)
    {
        for (col=0; col<8; col++)
        {
            answer+=my_data[row][col];
        }
        printf("The sum of row %i is: %i\n", row,answer);
        answer = 0;//to reset answer back to zero for next row sum 
    }

我有一个8x8阵列,我正在添加每一行并将答案重置为零,这样你就可以得到每一行的确切答案。但它不起作用......出了什么问题?

2 个答案:

答案 0 :(得分:4)

answer如何宣布?

如果声明它没有初始值,那么现有代码将失败,因为answer将具有第一行的垃圾值。解决这个问题:

for (row=0; row<8; row++) {
        answer = 0; // clear the running sum.
        for (col=0; col<8; col++) {
            answer+=my_data[row][col];
        }
        printf("The sum of row %i is: %i\n", row,answer);       
}

答案 1 :(得分:0)

忘记在程序开头将答案初始化为零。

int answer = 0;

感谢Gunner和Pedro。