Определить массив указателей на функции - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Прощу помощи Написать программу, в которой необходимо определить массив указателей на функции. Вводить цифру, определяющую какую функцию надо выполнить: 0-найти минимальное число, 1-найти максимальное число, 2-вычислить сумму чисел, 3-вычислить разность чисел, 4-найти произведение чисел, 5-найти частное чисел, 6-завершить работу. Выполнить соответствующую функцию, используя указатель на нее, и вывести результаты на экран. В программе предусмотреть использование прототипа функции.

Решение задачи: «Определить массив указателей на функции»

textual
Листинг программы
#include <stdio.h>
 
// Прототипы функций.
void function1(int a, int b);
void function2(int a, int b);
 
int main()
{
    /*
     * Массив указателей на функции function1, function2.
     */
    void (*p[2])(int, int) = {&function1, &function2};
    
    // Вызов первой функции.
    (*p[0])(2, 3);
    
    return 0;
}
 
// Реализация прототипов функций.
void function1(int a, int b)
{
    printf("%i", a * b);
}
 
void function2(int a, int b)
{
    printf("%i", a + b);
}

Объяснение кода листинга программы

  1. Подключение стандартной библиотеки файла
  2. Объявление двух прототипов функций: function1 и function2
  3. Создание массива указателей на функции с двумя элементами, где каждый указатель указывает на одну из двух функций.
  4. Вызов первой функции, используя оператор вызова функции (*p[0]) и передавая ей два аргумента (2 и 3)
  5. Завершение работы программы и возврат значения 0, что означает успешный конец работы программы.
  6. Реализация первой функции, которая принимает два аргумента типа int (a и b), выполняет их умножение и выводит результат на экран с помощью функции printf.
  7. Реализация второй функции, которая принимает два аргумента типа int (a и b), выполняет их сложение и выводит результат на экран с помощью функции printf.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5
Похожие ответы