11.3 실수 입력받기
지금까지 정수를 입력받아서 변수에 저장했습니다. 이번에는 실수를 받아서 변수에 저장해보겠습니다. 다음 내용을 소스 코드 편집 창에 입력하세요.
scanf_real_number.c
#define _CRT_SECURE_NO_WARNINGS // scanf 보안 경고로 인한 컴파일 에러 방지 #include <stdio.h> int main() { float num1; printf("실수를 입력하세요: "); scanf("%f", &num1); // 실수를 입력받아서 변수에 저장 printf("%f\n", num1); // 변수의 내용을 출력 return 0; }
소스를 컴파일하여 실행한 뒤 1.1을 입력하고 엔터 키를 누르세요.
실행 결과
실수를 입력하세요: 1.1 (입력) 1.100000
실수를 입력받을 것이므로 변수는 float로 선언해주고, scanf에 서식 지정자로 %f를 설정해줍니다. 즉, 입력받고자 하는 자료형에 맞게 변수를 선언하고, 서식 지정자도 맞춰줍니다. 만약 정수 1을 입력하더라도 서식 지정자가 %f이고 float 변수에 저장되므로 1.0이 됩니다. 각자 여러가지 값을 넣어보기 바랍니다.
여기서 변수를 double로 선언했다면 scanf에는 서식 지정자로 %lf를 넣고, long double로 선언했다면 %Lf를 넣습니다(double은 printf로 출력할 때 %f를 써도 되지만 scanf는 %lf를 써야 합니다).
double num1; scanf("%lf", &num1); // 자료형이 double일 때는 %lf long double num2; scanf("%Lf", &num2); // 자료형이 long double일 때는 %Lf