2015-10-24 2 views
-1
printf("%d",pow(5,3)) 

Это печать 0, и отлично работает, когда номер отличается от 5 почему?Функция питания работает неправильно

Может ли это объяснить это?

+2

'pow()' принимает 'double' и возвращает' double' – Haris

+2

'pow()' возвращает double, используйте '% f' или'% lf'. Проверьте [Справочное руководство по библиотеке C] (https://www-s.acm.illinois.edu/webmonkeys/book/c_guide/) – 865719

ответ

3

Возвращаемый тип функции мощности вдвое. используя спецификатор двойного преобразования для вывода вывода функции питания.

Спецификатор преобразования для double не является "% d". Это должно быть «% f».

1

Оно должно быть:

printf("%f",pow(5,3)); 

После возвращения типа pow является double

1

Вы должны использовать% ЛФ или% F:

printf("%lf",pow(5,3)); 

Как пау функция возвращает двойной.

Смежные вопросы