Рубрики

ВОРОТА | GATE MOCK 2017 | Вопрос 25

Рассмотрим следующий код C:

 int A[100][100];
 int main()
 {
    for(int i=1; i < 100 ; i++)
        for(int j=1; j < 100;j++)
            A[i][j] = (i/j)*(j/i);
   return 0;
 }

Какова будет сумма всех элементов двухмерного массива A после реализации вышеуказанной функции?
(А) 100
(Б) 99
(С) (100 * 99) / 2
(D) 0

Ответ: (Б)
Объяснение: Поскольку массив является глобальным, A [0] [j] = A [i] [0] = 0.
Окончательное значение после добавления всех значений этого массива будет 99. Только диагональный элемент будет иметь 1, кроме A [0] [0], а остальные все равны нулю как целочисленное деление (i / j), когда j> i будет 0.

Тест на этот вопрос

Рекомендуемые посты:

ВОРОТА | GATE MOCK 2017 | Вопрос 25

0.00 (0%) 0 votes