3 / 3 / 0
Регистрация: 02.02.2012
Сообщений: 6
|
||||||
1 | ||||||
При смене Float на double программа выдает нули02.02.2012, 17:27. Показов 8850. Ответов 8
Метки нет (Все метки)
Доброго времени.
При вводе следующего кода
0
|
02.02.2012, 17:27 | |
Ответы с готовыми решениями:
8
При вводе значения программа выдает нули Программа выдает одни нули при сортировке массива Программа выдает одни нули при вычислении среднего арифметического и геометрического На выходе программа выдаёт нули |
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
02.02.2012, 17:31 | 2 |
KolganovM, спецификатор %lf надо использовать.
0
|
1186 / 542 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
02.02.2012, 17:34 | 4 |
Как-бы float меньше double так что ничего удивительного что если оставить тот же scanf и printf, но использовать double вместо float то программа не будет работать корректно, что именно вас удивляет?
0
|
|
02.02.2012, 17:36
#5
|
Не по теме: silent_1991, когда успел передо мной написать=-O
0
|
silent_1991
|
02.02.2012, 17:37
#6
|
Не по теме: -=ЮрА=-, примерно в 20:31 по новосибирскому времени :D
0
|
3 / 3 / 0
Регистрация: 02.02.2012
Сообщений: 6
|
|
02.02.2012, 18:10 [ТС] | 7 |
Все работает. Благодарю.
Удивляет что для вывода float/double используется один и тот же модификатор, но результат выводится неверный. Но как оказалось дело в scanf.
0
|
02.02.2012, 18:52 | 8 |
Сообщение было отмечено как решение
Решение
Функция printf имеет эллипс (три точки). По стандарту языка Си аргументы типа float, передаваемые как неявно описанные (что имеет место быть в случае эллипса) всегда преобразуются к double'у (это делает компилятор). Т.е. если ты в printf передаёшь значение типа float, то компилятор сначала преобразует его в double. В случае scanf'а используются указатели, для которых эти правила, естественным образом, не работают. Именно из-за этого имеет место быть некоторая несимметрия в работе printf'а и scanf'а
7
|
Заблокирован
|
|
10.02.2012, 13:38 | 9 |
http://www.dgp.toronto.edu/~aj... rintf.html
Ищу код перевода числа в строку и назад...
0
|
10.02.2012, 13:38 | |
10.02.2012, 13:38 | |
Помогаю со студенческими работами здесь
9
Ошибка в программе, программа выдает нули Динамические массивы - программа выдает нули Программа с оператором switch выдает только нули Преобразовать массив по правилу: программа выдает нули Разные результаты при расчетах с float и double Казусы с double и float при преобразовании в string Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |