Рубрики

C | Массивы | вопрос 2

Прогнозируем вывод следующей программы:

#include <stdio.h>

  

int main()

{

    int arr[5];

    // Предположим, что базовый адрес arr равен 2000, а размер целого числа равен 32 битам

    printf("%u %u", arr + 1, &arr + 1);

  

    return 0;

(А) 2004 2020
(B) 2004 2004
(C) 2004 г. Стоимость мусора
(D) Программа не может скомпилироваться, потому что оператор Address-of не может использоваться с именем массива

Ответ: (А)
Объяснение: Имя массива в C дает адрес (кроме оператора sizeof) первого элемента. Добавление 1 к этому адресу дает адрес плюс размер типа, который имеет массив. Применение оператора Address-of перед именем массива дает адрес всего массива. Добавление 1 к этому адресу дает адрес плюс размер всего массива .

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

C | Массивы | вопрос 2

0.00 (0%) 0 votes