Scanf / Printf двойная переменная C

Допустим, у меня есть следующий фрагмент кода на C:

double var;
scanf("%lf", &var);
printf("%lf", var);
printf("%f", var);

Он читает из переменной stdin 'var' и затем печатает дважды в stdout 'var'. Я понимаю, как вы читаете двойную переменную из стандартного ввода, но мои вопросы:

Почему вы можете напечатать двойной с% lf?Почему вы можете напечатать двойной с% f?Какой из них лучше и правильно использовать?

Ответы на вопрос(3)

Ваш ответ на вопрос