본문 바로가기
개발 공부/C언어

#2 C언어 double과 float의 서식문자 %lf, %f 뭘 사용해야 하는걸까?

by 반달bear 2022. 7. 31.
반응형

printf 함수에서 double 자료형을 사용할때는 %lf를 float 자료형을 사용할때는 %f를 사용해야한다고 배웠는데 사실 %lf나 %f나 상관이 없습니다.

pow나 sqrt함수는 double 자료형을 사용하지만 printf를 사용할때는 %f로 통일해줘도 됩니다.

원래 printf 함수는 서식문자가 double이건 float이건 %f밖에 없었는데 99년도에 %lf가 추가되었습니다. 이로 인해 printf 함수에 float 자료형이 전달되면 자동으로 double 형으로 바뀌게 됩니다. (자기 마음대로)

 

주의점은 scanf 함수를 사용할때는 double에선 %lf float 에선 %f를 사용하여야 한다는 것!!!

 

왜냐하면 scanf에서는 인수로 포인터를 받기 때문에 전달 받는 포인터의 자료형을 알 수 없기 때문에 사용자인 우리가 어떤 자료형인지 말을 해줘야 합니다. 그래서 scanf 함수를 사용할 때는 우리가 %lf와 %f로 구분해줘야 합니다....(귀찮게)

 

반응형

댓글