Главная Контакты


  На сайте

  Java, JavaScript
  Документация Perl
  Документация PHP
  Документация ASP
  Новости сайта
  Flash
  Интернет протоколы
  Apache
  Уроки программирования
  Язык программирования C
 


Функции и структура программ


Команда 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;
}


Другие статьи по теме:

- Символьные массивы
- Функции и структура программ
- Типы, операторы и выражения
- Внешние переменные и область действия
- Введение в c++


Голосование:
Чего Вы хотели бы видеть больше на сайте?

Статей, документации
Скриптов
Программ для вебмастера
Я не знаю



Другие голосования

Обмен кнопочками:



Приглашаем Вас обменяться кнопочками! Обращайтесь к администратору.


Новые статьи:


Наши партнеры:





2006-2024 © SMTI.RU
Главная страница | Связаться с нами