Рубрики

C | Классы хранения и классификаторы типов | Вопрос 19

#include <stdio.h>

int main()

{

    int x = 5;

    int const * ptr = &x;

    ++(*ptr);

    printf("%d", x);

    

    return 0;

}

(A) Ошибка компилятора
(B) Ошибка выполнения
(С) 6
(D) 5

Ответ: (А)
Объяснение: См. Следующие объявления, чтобы узнать разницу между указателем на константу и указателем на константу.
int * const ptr -> ptr — постоянный указатель. Вы можете изменить значение в месте, указанном указателем p, но вы не можете изменить p, чтобы оно указывало на другое местоположение.
int const * ptr -> ptr — указатель на константу. Вы можете изменить ptr для указания другой переменной. Но вы не можете изменить значение, указанное в ptr.

В приведенной выше программе ptr является указателем на константу. Таким образом, указанное значение не может быть изменено.

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

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

C | Классы хранения и классификаторы типов | Вопрос 19

0.00 (0%) 0 votes