지금 C 함수 파트 배우고 있는데, 문제가 2차 방정식의 근을 계산하는 함수 quad_eqn()을 만드는 거거든요,
quad_eqn()은 이차 방정식의 계수인 a, b, c를 double형으로 3개의 인수를 받는다는 조건이 문제에 있었어요
이 부분이 quad_eqn 함수고,
이 부분이 메인 함수입니다.
일단 코드는 정상적으로 작동합니다. 제가 수정 작업을 한 번 거쳤거든요. 그 수정작업이라 하면 scanf_s와 printf에 있는 형식 지정자 %f를
%lf로 바꿔주니까 정상적으로 작동하더라구요.
그 전에는, D > 0일 때 근의 값이 틀리게 계산돼서 나오는 문제점이 있었습니다.
그런데 printf에서 double 자료형을 출력할 때는 %f 쓰는 거 아닌가요? 어째서 %f가 아니라 %lf로 바꿨더니
근이 정상적으로 작동돼서 나오는 지 궁금합니다
%f는 float
scanf에서 %f는 float, %lf는 double임
printf에서는 %f로 float도 double도 되는데 %lf도 쓸 수는 있음