• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

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

23.10.02 13:39 작성 조회수 134

1

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

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

답변 1

답변을 작성해보세요.

1

Soobak님의 프로필

Soobak

2023.10.02

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


네, 그렇습니다.

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

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