вторник, 24 марта 2020 г.

СЯП: Возвращение из функции двух и более результатов

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

При этом можно использовать два варианта:


Вариант 1
Для возвращения из функции нескольких результатов использовать только параметры-ссылки:

Здесь в функции fun( ) для возвращения результатов используются параметры-ссылки s и r. Имя функции для возвращения результатов не используется. При вызове fun( ) в первый раз результаты возвращаются в переменные (фактические параметры) s12 и r12.  При вызове fun( ) во второй раз результаты возвращаются в переменные (фактические параметры) s13 и r13, которые затем можно использовать для печати или вычислений. Два первых параметра fun( ) являются параметрами-значениями и используются для передачи данных в fun( ).

Вариант 2
Для возвращения из функции нескольких результатов использовать и имя функции и параметры-ссылки:

 Здесь в функции fun1( ) для возвращения результатов используются имя функции fun1 и параметр-ссылка r. При вызове fun1( ) в первый раз результаты возвращаются именем fun1 и в переменную (фактический параметр)  r12.  При вызове fun( ) во второй раз результаты возвращаются именем fun1 и в переменную (фактический параметр) r13. Оператор s12=fun1( ) переписывает значение из имени функции еще и в переменную s12. Переменные s12, s13, r12, r13  затем можно использовать для печати или вычислений.

Комментариев нет:

Отправить комментарий