함수 scanf()는 (보통은 키보드로) 입력을 받아들이는 기능을 수행하면 stdio.h 에 정의되어 있다. 만약 하나의 정수를 입력받아서 a라는 변수에 저장하고 싶다면 다음과 같이 해야 한다.
scanf(“%d”, &a); |
이렇게 하면 사용자로보터 숫자 입력을 받아서 변수 a에 저장한다. ‘&’는 주소 연산자로서 포인터를 설명하는 장에서 자세히 알아볼 것이고 여기에서는 scanf()함수에서는 변수 앞에 &를 붙여야 한다고만 알아두고 넘어가자.
ex02-04.c |
#include <stdio.h>int main() {int ia;printf("input an integer :");scanf("%d", &ia);printf("your input is %d.",ia);} |
실행 결과 |
input an integer :1234your input is 1234. |
실수를 입력받을 때는 %f (float형) 나 %lf (double 형) 지시자를 사용하면 된다.
ex02-05.c |
#include <stdio.h>int main() {float fa;printf("input a real number :");scanf("%f", &fa);printf("your input is %f.", fa);} |
실행 결과 |
input a real number :1.23your input is 1.230000. |
두 개 이상의 입력을 한 번에 받으려면 다음과 같이 하면 된다.
ex02-06.c |
#include <stdio.h>int main() {int ia, ib;printf("input two integers :");scanf("%d %d", &ia, &ib);printf("your inputs are %d and %d.", ia, ib);} |
실행 결과 |
input two numbers :11 22your inputs are 11 and 1. |
여기서 scanf() 함수 내에서 "%d %d"와 같이 %d와 %d가 공백문자로 구분되어 있다면 사용자가 숫자르 입력할 때에도 공백문자로 구별해야 한다. 만약
scanf("%d,%d", &ia, &ib); |
와 같이 콤마(,)로 구분되어 있으면 사용자도 11,22 와 같이 콤마로 구별해서 숫자를 입력해야 한다. 그렇지 않으면 오동작이 일어난다.
'프로그래밍언어.Lib > C,C++' 카테고리의 다른 글
1.2 C 언어 소개 (0) | 2016.03.04 |
---|---|
1.1 프로그래밍 개요 (0) | 2016.03.04 |
(C언어) 구조체의 포인터 (0) | 2016.02.01 |
(C언어) 구조체 배열 (0) | 2016.02.01 |
(C언어) 구조체 변수를 필드로 가지는 구조체 (0) | 2016.02.01 |