Рубрики

C | Строка | Вопрос 8

Выход?

int main()

{

    char a[2][3][3] = {'g','e','e','k','s','q','u','i','z'};

    printf("%s ", **a);

    return 0;

}

(A) Ошибка компилятора
(B) Geeksquiz сопровождается мусором персонажей
(С) geeksquiz
(D) Ошибка выполнения

Ответ: (с)
Объяснение: Мы создали трехмерный массив, который должен иметь 2 * 3 * 3 (= 18) элементов, но мы инициализируем только 9 из них. В C, когда мы инициализируем меньше элементов в массиве, все неинициализированные элементы становятся '/ 0' в случае char и 0 в случае целых чисел.
Тест на этот вопрос

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

C | Строка | Вопрос 8

0.00 (0%) 0 votes