Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Как использовать функции



Собственные функции помещаются после закрывающей фигурной скобки main().


Рис.2. Структура функции

Каждая функция имеет структуру, аналогичную структуре функции main() (рис.2): после имени функции ставится пара круглых скобок, точка с запятой в конце строки отсутствует, инструкции, составляющие тело функции, заключаются в пару фигурных скобок.

При вызове функции компьютер выполняет инструкции, записанные в теле функции, а затем управление возвращается строке, которая стоит непосредственно после инструкции вызова функции. В зависимости от компилятора использование инструкции return (0); в теле функции может быть необязательным. Си может обеспечить автоматический возврат после завершения всех инструкций.

На рис.3 в качестве примера показана программа, которая выводит на дисплей вопрос и ответ на него. Цифры указывают порядок выполнения инструкций.

Инструкцияanswer();в main() вызывает функцию answer() так, как если бы она содержалась в библиотеке Си, с той разницей, что текст функции answer() находится не в библиотеке, а включен в программный код. Вызов этой функции осуществляется после выполнения двух функций puts(). Функции answer() не передаются никакие параметры, так как она содержит всю информацию, необходимую для выполнения своей задачи. После выполнения функции puts() в answer() инструкция return(0); передает управление инструкции, помещенной в теле main() непосредственно за инструкцией вызова функции answer(). Инструкция return(0); в main() завершает выполнение программы.


Рис.3. Вызов функции

Приведенную на рис.3 программу компьютер выполнит в следующем порядке:

puts("Сколько байтов в одном килобайте?");puts("Для получения ответа нажмите Enter");pause = getchar();answer();puts("Водномкилобайте 1024 байта.");return(0);return(0);

Функцию можно вызвать из любого места программы, в том числе, из другой функции. Инструкция return(0); в теле функции всегда передает управление инструкции, следующей за вызовом функции. В Листинге 1 приведен текст программы с двумя не библиотечными функциями. Первая из них называется question() и вызывается из main(). Вторая значится под именем answer() и вызывается из функции question(). Инструкция return(0) в answer() возвращает управление назад в question(), из которой позже происходит возврат в main(). Ниже приведен результат работы этой программы, причем для каждого сообщения указана функция, выводящая его на экран.

Добро пожаловать в наш Опросник. main()

Скажите название графического интерфейса фирмы Microsoft. question()

Для получения правильного ответа нажмите Enter. question()

Правильный ответ - Windows. answer()

Благодарим за участие. main()





Дата публикования: 2015-07-22; Прочитано: 222 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...