Язык С




Функции - часть 2


PRINTF("%D %D %D\N",I,POWER(2,I),POWER(-3,I));

при каждом обращении функция POWER, получив два аргумента, вазвращает целое значение, которое печатается в заданном формате. В выражениях POWER(2,I) является точно таким же це- лым, как 2 и I. /Не все функции выдают целое значение; мы займемся этим вопросом в главе 4/. Аргументы функции POWER должны быть описаны соответству- ющим образом, так как их типы известны. Это сделано в строке

INT X,N;

которая следует за именем функции. Описания аргументов помещаются между списком аргументов и открывающейся левой фигурной скобкой; каждое описание за- канчивается точкой с запятой. Имена, использованные для ар- гументов функции POWER, являются чисто локальными и недос- тупны никаким другим функциям: другие процедуры могут ис- пользовать те же самые имена без возникновения конфликта. Это верно и для переменных I и P; I в функции POWER никак не связано с I в функции MAIN. Значение, вычисленное функцией POWER, передаются в MAIN с помощью оператора RETURN, точно такого же, как в PL/1. внутри круглых скобок можно написать любое выражение. Функ- ция не обязана возвращать какое-либо значение; оператор RETURN, не содержащий никакого выражения, приводит к такой же передаче управления, как "сваливание на конец" функции при достижении конечной правой фигурной скобки, но при этом в вызывающую функцию не возвращается никакого полезного зна- чения.

Упражнение 1-13

---------------- Апишите программу преобразования прописных букв из айла ввода в строчные, используя при этом функцию OWER(C), кото- рая возвращает значение 'C', если C'- не буква, и значение соответствующей строчной уквы, если 'C'-буква.




    Содержание  Назад  Вперед