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 .