|
Функции и структура программЕсли название, которого не было предварительно объявлено, появится в каком выражении, и за ней следует левая скобка, она будет рассмотрена в контексте как объявление названия функции, а функции, как известно, по умолчанию возвращают int без предположений нялась ее аргументов. Более того, если объявление функции не содержит аргументов, например double atof (); это также означает, что ничего не допускается в отношении аргументов atof, и проверку параметров будет выключен. Этот особый смысл пустого списка аргументов предусмотрено для того, чтобы позволить старшим C-программам компилироваться с новыми компиляторами. Но использовать пустой список в новых программах - это плохая идея. Если функция принимает аргументы, объявите их, если нет - воспользуйтесь void. Имея правильно объявленную atof, мы могли бы написать atoi (функцию преобразования цепочки на int), исходя из нее: / * Atoi: с помощью atof превращает цепочку s на целое число * / int atoi (char s []) { double atof (char s []); return (int) atof (s); } Обратите внимание на структуру объявлений и на утверждение return. Значение выражения return выражение; перетворетворюеться к типу функции, до того, как состоится поверннення. Таким образом, значение atof, число двойной точности, автоматически преобразуется в int при появлении в return, поскольку функция atoi должен вернуть int. Эта операция, однако, потенциально, отвергает часть информации, поэтому некоторые компиляторы могут предупредить об этом. Оператор возведения типов заявляет открыто, что именно это имелось в виду, и подавляет любые предупреждения. Упражнение 4-2. Продолжите atof, чтобы она могла оперировать экспоненциальное представлением в форме 123.45e-6 где за числом с плавающей точкой может следовать e или E и необязательна знаковая экспонента. Продолжение статьи: ч.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 Главная страница | Связаться с нами |