Добавление двухмерных строк массива - PullRequest
1 голос
/ 02 марта 2011
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 ]

4 голосов
/ 02 марта 2011

Как объявляется answer?

Если он объявлен без начального значения, ваш существующий код потерпит неудачу, так как answer будет содержать ненужное значение для 1-й строки.Чтобы это исправить:

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 голосов
/ 02 марта 2011

Забыл инициализировать ответ нулем в начале программы.

int answer = 0;

Спасибо Ганнер и Педро.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...