|
Функции и структура программКоманда cc пользуется условными названиями ". C" противовес ". O" для того, чтобы различить исходный файл от объектного. Функции, которые возвращают целых До сих пор, наши примеры функций или не возвращали никакого значения (void), либо возвращали int. А что, как функция должна вернуть какой-то другой тип? Много математических функций, таких как sqrt, sin или cos возвращают double; другие специализированные функции возвращают другие типы. Чтобы проиллюстрировать, как справиться с этой задачей, напишем и испытаем функцию atof (s), которая преобразует цепочку s в ее эквивалент в виде числа с плавающей точкой двойной точности. Функция atof - это расширение atoi версии которой мы рассмотрели в главе 2 и 3. Последнее обрабатывала возможен знак и десятичную точку, так же как недостаток или наличие целого или дробной части. Наша версия не является высококачественной функцией преобразования ввода; это заняло бы больше места, чем мы хотели бы использовать здесь. Стандартная библиотека включает atof; в заголовке Прежде всего, сама atof должен объявить тип значения, которое она возвращает, поскольку это - не int. Название типа стоять перед названием функции: # Include / * Atof: превращает s в число двойной точности * / double atof (char s []) { double val, power; int i, sign; for (i = 0; isspace (s [i]); i + +) / * пропустить пробелы * / ; sign = (s [i] == '-')? -1: 1; if (s [i] == '+' | | s [i] == '-') i + +; for (val = 0.0; isdigit (s [i]); i + +) val = 10.0 * val + (s [i] - '0 '); if (s [i] == '.') i + +; for (power = 1.0; isdigit (s [i]); i + +) { val = 10.0 * val + (s [i] - '0 '); power *= 10.0; } return sign * val / power; } Продолжение статьи: ч.1 Продолжение статьи: ч.2 Продолжение статьи: ч.3 Продолжение статьи: ч.4 Продолжение статьи: ч.5 Продолжение статьи: ч.6 Продолжение статьи: ч.7 Продолжение статьи: ч.8 Продолжение статьи: ч.9 Продолжение статьи: ч.10 Продолжение статьи: ч.11 Продолжение статьи: ч.12 Продолжение статьи: ч.13 Продолжение статьи: ч.14 Продолжение статьи: ч.15 Продолжение статьи: ч.16 Продолжение статьи: ч.17 Продолжение статьи: ч.18 Продолжение статьи: ч.19 Продолжение статьи: ч.20 Продолжение статьи: ч.21 Другие статьи по теме: - Символьные массивы- Функции и структура программ - Типы, операторы и выражения - Внешние переменные и область действия - Введение в c++ |
|
2006-2024 © SMTI.RU Главная страница | Связаться с нами |