scanf() 함수는 키보드로부터 다양한 형태의 데이터를 입력받을 수 있는 함수이다.
int main(void){
int num;
scanf("%d", &num);
}
키보드로부터 데이터를 입력 받으려면 데이터의 종류에 맞게 메모리 공간을 미리 할당해야 한다. 위의 코드에서는 scanf()함수 호출 전에 변수 num을 선언하여 메모리 공간을 할당하였다. scanf() 함수를 보면 10진수 정수 형테의 데이터를 입력받아서 num이라는 변수에 저장하라는 의미를 담고 있다.
다음 코드는 정수 두개를 입력받아서 그 두 정수의 합을 출력하는 프로그램의 예제 코드이다.
#include <stdio.h>
int main(void){
int result, num1, num2;
printf("num1 : ");
scanf("%d", &num1);
printf("num2 : ");
scanf("%d", &num2);
result = num1 + num2;
printf("%d + %d = %d\n",num1, num2, result);
return 0;
}
scanf() 함수는 10진수 정수뿐 아니라 16진수, 문자열등 다양한 형태의 데이터를 입력받을 수 있다.
또한 다음과 같은 방식으로 여러개의 데이터를 동시에 입력받을수도 있다.
int main(void)
{
int num1,num2,num3;
scanf("%d %d %d", &num1, &num2, &num3);
}
scanf()함수는 공백을 기준하여 데이터를 구분한다. 위 코드와 같이 여러개의 데이터를 한번에 입력 받을 때는 3개의 정수 사이에 공백에 해당하는 스페이스바를 입력하여야 한다. ex) 3 4 5