인프런 커뮤니티 질문&답변

최대웅님의 프로필 이미지
최대웅

작성한 질문수

홍정모의 따라하며 배우는 C언어

8.7 입력 스트림과 숫자

scanf가 작동하는 방식 %d, %lf

작성

·

221

1

scanf가 작동하는 방식이 %d가 들어있다면 정수를 받겠다고

판단을 해서 1.23456이 들어와도 1까지만 받아들이는 것이고 %lf인 경우에는 실수 형태를 받겠다고 판단을 해서 1.23456을 1.23456까지 다 받아들인다는 건가요?

답변 1

1

안녕하세요, 답변 도우미 Soobak 입니다.


네, 그렇습니다.

scanf() 함수의 형식 지정자 중 %d 는 정수를 입력받는 형식 지정자 입니다.
만약, 사용자가 1.23456 같은 실수 값을 입력하면, scanf() 함수는 소수점 이전의 부분인 1 만을 정수로서 인식하고 나머지 부분은 무시합니다. 따라서, 변수에는 1 만 저장됩니다.

%lf 형식 지정자는 double 자료형의 실수를 입력받는 형식 지정자이며, 말씀하신대로 1.23456 을 입력할 경우, 해당 값이 그대로 변수에 저장됩니다.

 

최대웅님의 프로필 이미지
최대웅

작성한 질문수

질문하기