Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Функции, возвращающие нецелые значения

Rusa


Функции, возвращающие нецелые значе 17417p152r ния



while getline line maxline) > 0)

Если некоторое имя, которое не было описано ранее, появляется в выражении и за ним следует левая круглая скобка, то оно по контексту считается именем некоторой функции. Кроме того, по умолчанию предполагается, что эта функция возвращает значе 17417p152r ние типа int char int char

Но что происходит, если функция должна возвратить значе 17417p152r ние какого-то другого типа? Многие численные функции, такие как sqrt sin cos double - значе 17417p152r ние с плавающей точкой, с двойной точностью. Другие специальные функции возвращают значе 17417p152r ния других типов. Чтобы показать, как поступать в этом случае, давайте напишем и используем функцию atоf(s) s

atоf атоi, варианты которой мы написали в главах 3 и 4; она обрабатывает необязательно знак и десятичную точку, а также целую и дробную часть, каждая из которых может как присутствовать, так и отсутствовать (эта процедура преобразования ввода не очень высокого каче 17417p152r ства; иначе 17417p152r она бы заняла больше места, чем нам хотелось бы).



atоf должна описывать тип возвращаемого ею значе 17417p152r ния, поскольку он отличен от int float double atоf float полагаем, что возвращаемое значе 17417p152r ние типа double

// Преобразование строки s в число с двойной точностью

double atof(char s[])

return(sign * val / power);

atof возвращает значе 17417p152r ние, отличное от int который считывает по одному числу на строку, причем это число может иметь знак, и складывает все числа, печатая сумму после каждого ввода.



#define maxline 100

main() // Примитивный калькулятор

double sum atof

sum double atof является функцией, возвращающей значе 17417p152r ние типа double. Эта мнемоника означает, что значе 17417p152r ниями как sum atof(...)

atof не будет описана явно в обоих местах, то в «C» предполагается, что она возвращает целое значе 17417p152r ние, и вы получите бессмысленный ответ. Если сама atof main atof atof будет возвращать значе 17417p152r ния типа double main int, что приведет к бессмысленным результатам (программа Lint вылавливает такую ошибку).



atof atoi int

atoi(char s[]) // Преобразование строки в целое число

return. Значе 17417p152r ние выражения в конструкции:

return (выражение)

return значе 17417p152r ние функции atof double int atoi int. (Как обсуждалось в главе 3, преобразование значе 17417p152r ния с плавающей  точкой к типу int

atof где за числом с плавающей точкой может следовать




Document Info


Accesari: 1089
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2025 )