Рубрики

ВОРОТА | GATE IT 2006 | Вопрос 51

Какой из приведенных ниже вариантов будет напечатан при выполнении следующей программы?

#include

int a1[] = {6, 7, 8, 18, 34, 67};

int a2[] = {23, 56, 28, 29};

int a3[] = {-12, 27, -31};

int *x[] = {a1, a2, a3};

void print(int *a[])

{

            printf("%d,", a[0][2]);

            printf("%d,", *a[2]);

            printf("%d,", *++a[0]);

            printf("%d,", *(++a)[0]);

            printf("%d\n", a[-1][+1]);

}
main()
{

             print(x);

}

(А) 8, -12, 7, 23, 8
(Б) 8, 8, 7, 23, 7
(С) -12, -12, 27, -31, 23
(D) -12, -12, 27, -31, 56

Ответ: (А)
Объяснение:

int *x[] = {a1, a2, a3}; линия делает x [0] = a1 и аналогично. Поэтому всякий раз, когда на x [0] ссылаются, внутренне просматривается массив a1.

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

ВОРОТА | GATE IT 2006 | Вопрос 51

0.00 (0%) 0 votes