Чому саме він scanf()потребує l" %lf" під час читання a double, коли printf()може використовувати " %f", незалежно від того, його аргумент є a doubleчи a float?
Приклад коду:
double d;
scanf("%lf", &d);
printf("%f", d);
&оператором, результатом цієї операції є вказівник на місце зберігання змінної в пам'яті. Саме той вказівник передається scanf.