Рубрики

C | Расширенный Указатель | Вопрос 10

Вывод следующей программы

#include <stdio.h>

int fun(int arr[]) {

   arr = arr+1; 

   printf("%d ", arr[0]);

}

int main(void) {

   int arr[2] = {10, 20};

   fun(arr);

   printf("%d", arr[0]);

   return 0;

}

(A) Ошибка компилятора
(Б) 20 10
(С) 20 20
(D) 10 10

Ответ: (Б)
Объяснение: В C параметры массива обрабатываются как указатели (подробнее см. Http://espressocode.top/why-c-treats-array-parameters-as-pointers/).

Таким образом, переменная arr представляет массив в main (), но указатель в fun ().
Тест на этот вопрос

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

C | Расширенный Указатель | Вопрос 10

0.00 (0%) 0 votes