지금 C 함수 파트 배우고 있는데, 문제가 2차 방정식의 근을 계산하는 함수 quad_eqn()을 만드는 거거든요,

quad_eqn()은 이차 방정식의 계수인 a, b, c를 double형으로 3개의 인수를 받는다는 조건이 문제에 있었어요

viewimage.php?id=3dafdf21f7d335ab67b1d1&no=24b0d769e1d32ca73ded8efa11d02831ee99512b64ee64d67099c224c5044eaa9745427a824f7009d2bf14605fe38cf4f6e38e7ef164d65dca5270a44f71fd49e9d228b95261e9

이 부분이 quad_eqn 함수고, 


viewimage.php?id=3dafdf21f7d335ab67b1d1&no=24b0d769e1d32ca73ded8efa11d02831ee99512b64ee64d67099c224c5044eaa9745427a824f7009d2bf14605fe38cf4f6e38e7ef164d65dca5270ab4426fc1802dca8766cf8a7

이 부분이 메인 함수입니다.


일단 코드는 정상적으로 작동합니다. 제가 수정 작업을 한 번 거쳤거든요. 그 수정작업이라 하면 scanf_s와 printf에 있는 형식 지정자 %f를

%lf로 바꿔주니까 정상적으로 작동하더라구요.

그 전에는, D > 0일 때 근의 값이 틀리게 계산돼서 나오는 문제점이 있었습니다.

그런데 printf에서 double 자료형을 출력할 때는 %f 쓰는 거 아닌가요? 어째서 %f가 아니라 %lf로 바꿨더니

근이 정상적으로 작동돼서 나오는 지 궁금합니다