#include <stdio.h>
#include <math.h>
int main(void){
printf("%lf\n", pow(1.0, 2.0));
printf("%f\n", pow(1.0, 2.0));
return 0;
}
Первый printf()
дает результат 0.000000
, а второй printf()
дает результат 1.000000
. Почему?
Использование Codeblocks в 64-разрядной версии Windows 7.
Использование команды gcc для компиляции дает мне .exe, который выводит 1.000000 для обоих операторов.
Если я компилирую, нажимая F9 на Codeblocks, я получаю 0,000000 для первого оператора и 1,000000 для второго.
Наконец, если я удалю #include <stdio.h>
из исходного кода в Codeblocks, все выдадут мне 1.000000 (без предупреждений или ошибок).
printf
это не имеет значения,"%f"
и"%lf"
равны, так как оба ожидаютdouble
аргумент. Является ли код, который вы показываете, настоящим кодом, который вы тестировали? Создайте минимальный, полный и проверяемый пример, а затем скопируйте и вставьте его в вопрос. - person Some programmer dude   schedule 21.12.2017printf()
imgur.com/a/iYo5p< /а> - person Aditi Rawat   schedule 21.12.2017