Why does scanf() need “%lf” for doubles, when printf() is okay with just “%f”?
Why is it that scanf() needs the l in “%lf” when reading a double, when printf() can use “%f” regardless of whether its argument is a double or a float? Example code: double d; scanf(“%lf”, &d); printf(“%f”, d); 5 Answers 5