Вівторок, 19.03.2024, 14:28
Гость

Мішатронік

Мобільна версія | Додати у вибране  | Мій профіль | Вихід | RSS |
Меню сайту
Наше опитування
Чи знаєте ви, що таке спортивне програмування?
Всього відповідей: 0
Статистика

Онлайн всього: 1
Гостей: 1
Користувачів: 0


Давайте рассмотрим пример объявления и использования функции в языке программирования Си:

#include <stdio.h>
 
int multiplication( int num1, int num2 ); //прототип функции
 
int main()
{
  int num1;
  int num2;
 
  printf( "Введите два  числа для умножения: " );
  scanf( "%d", &num1 );
  scanf( "%d", &num2 );
  printf( "Результат умножения %d\n", multiplication( num1, num2 ) ); // вызов функции
  getchar();
 
  return 0;
}
 
int multiplication(int num1, int num2) // определение функции
{
  return num1 * num2;
}

Эта программа начинается с включения единственного заголовочного файла, в строке 1. Следующей строкой является прототип функции умножения. Обратите внимание, что в конце объявления прототипа есть точка с запятой! Функция mainвозвращает целое число, в строке 16. Чтобы соответствовать стандарту функция main всегда должна возвращать некоторое значение. У вас не должно возникнуть проблем с пониманием ввода и вывода значений в функциях, если вы внимательно изучили предыдущие уроки.

Обратите внимание на то как на самом деле функция multiplication() принимает значение. Что же происходит на самом деле? А на самом деле это работает так: функция  multiplication принимает два целых значения, умножает их и возвращает произведение. Результат работы этой программы будет точно таким же, как если бы мы сделали так:

1
printf"Результат умножения %d\n", num1 * num2 );

Функция multiplication() на самом деле определяется ниже функции main. А так как прототип этой функции объявлен выше главной функции, то при вызове функции multiplication() внутри main() компилятор не выдаст ошибку. Пока прототип присутствует, функция может использоваться даже если нет её фактического определения. Тем не менее, вызов функции не может быть осуществлен ранее, чем будет определена эта функция.

Определение прототипов функций необходимы только если фактическое определение самой функции будет располагаться после main-функции. Если же функцию определить до главной функции, то прототип не нужен.

Ключевое слово return, используется для того, чтобы заставить функцию возвращать значение. Обратите внимание на то, что вполне успешно можно объявлять функции, которые не возвращают никаких значений. Если функция возвращает значение типа void, значит фактически функция не имеет возвращаемого значения. Другими словами, для функции, которая возвращает значение типа void, утверждение return; является законным, но обычно оно избыточно. (Хотя оно может быть использовано для экстренного выхода из функции.)

 

Форма входа
Пошук
Друзі сайту
Календар
«  Березень 2024  »
ПнВтСрЧтПтСбНд
    123
45678910
11121314151617
18192021222324
25262728293031

Єдина Країна! Единая Страна!