Hi everyone.
I hope you're having a good day.
As you see in the picture when I read double
using scanf
"%lf"
specifier it's ok, but when I'm trying to print double
using printf
"%lf"
specifier, I got zero as result, but when I use "%f"
floating-point specifier give me the right result, can any one help me with this problem and tell me why?
My IDE: Code::Blocks 13.12
My compiler: GNU GCC Compiler.
Thanks in advance :D
Can I know why downvotes !!!
If you don't know the answer just ignore it.
Read this page link
Because C will promote floats to doubles for functions that take variable arguments. Pointers aren't promoted to anything, so you should be using %lf, %lg, %le or %la (C99) to read in doubles.
I see many codes uses
"%lf"
specifier for printing, not"%f"
but whyprintf("%lf", x);
don't work??It's work perfectly on eclipse .