Рубрики

C | Основы указателя | Вопрос 16

#include <stdio.h>

int main()

{

    int arr[] = {1, 2, 3, 4, 5};

    int *p = arr;

    ++*p;

    p += 2;

    printf("%d", *p);

    return 0;

}

(А) 2
(Б) 3
(С) 4
(D) Ошибка компилятора

Ответ: (Б)
Объяснение: Выражение ++ * p оценивается как «++ (* p)». Таким образом, он увеличивает значение первого элемента массива (не меняет указатель p).

Когда p + = 2 сделано, p изменяется, чтобы указывать на третий элемент массива.
Тест на этот вопрос

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

C | Основы указателя | Вопрос 16

0.00 (0%) 0 votes