ВОРОТА | ВОРОТА КС 2021 | Набор 2 | Вопрос 45

Опубликовано: 7 Октября, 2022

Рассмотрим следующую программу ANSI C:

#include < stdio.h >
#include < stdlib.h >
struct Node{
        int value;
        struct Node *next;};
int main( ) {
    struct Node *boxE, *head, *boxN; int index=0;
    boxE=head= (struct Node *) malloc(sizeof(struct Node));
    head → value = index;
    for (index =1; index

Какое из приведенных ниже утверждений о программе верно?
(A) После выполнения программа создает связанный список из пяти узлов.
(B) После выполнения программа переходит в бесконечный цикл
(C) У него отсутствует возврат, который будет сообщен компилятором как ошибка.
(D) Он разыменовывает неинициализированный указатель, что может привести к ошибке во время выполнения.

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

При отладке цикла 1 вы получите связанный список размера 4.

Во втором цикле будет напечатано значение 0 0 1 1 2 2 3 3 после того, как голова будет указывать на какое-то случайное место, что приведет к ошибке времени выполнения.
Правильный вариант (Д)


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

РЕКОМЕНДУЕМЫЕ СТАТЬИ