작성
·
226
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
을 입력할 경우, 해당 값이 그대로 변수에 저장됩니다.