Рубрики

Викторина C — 107 | Вопрос 5

Для следующего объявления функции в C выберите лучший оператор

int [] fun(void (*fptr)(int *));

(A) Это приведет к ошибке компиляции.
(B) Нет ошибки компиляции. fun — это функция, которая принимает указатель на функцию fptr в качестве аргумента и возвращает массив типа int.
(C) Нет ошибки компиляции. fun — это функция, которая принимает указатель функции fptr в качестве аргумента и возвращает массив int. Кроме того, fptr — это указатель на функцию, который принимает указатель int в качестве аргумента и возвращает void.
(D) Нет ошибки компиляции. fun — это функция, которая принимает указатель функции fptr в качестве аргумента и возвращает массив int. Массив int зависит от массы удовольствия, то есть, какой размер массива возвращается. Кроме того, fptr — это указатель на функцию, который принимает указатель int в качестве аргумента и возвращает void.

Ответ: (А)
Объяснение: Согласно стандарту C, функция не может иметь явный массив в качестве возвращаемого типа. Вот почему приведенное выше может привести к ошибке компиляции. Существуют косвенные способы, если нам нужен массив в качестве вывода вызова функции. Например, указатель может быть возвращен функцией с помощью оператора return , предоставляя размер массива другими средствами. В качестве альтернативы для этого можно использовать аргумент функции.
Тест на этот вопрос

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

Викторина C — 107 | Вопрос 5

0.00 (0%) 0 votes