2011-03-02 67 views
1
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维阵列行

+2

您是否在循环开始之前将回答设置为0? – 2011-03-02 06:20:39

+0

如何改变'答案= 0;'到bucle的开始? – PedroC88 2011-03-02 06:21:18

+0

当你说不工作,什么不工作?编译错误?奇怪的价值出来了吗?等等也是如何回答,行,列声明? – 2011-03-02 06:21:34

回答

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);  
} 
+0

这是问题哈哈谢谢。 :) – Kyle 2011-03-02 06:28:18

0

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

int answer = 0; 

感谢枪手和佩德罗。