티스토리 뷰

[한방에 이해하는 C언어] 


키보드로부터 입력을 받자! scanf()함수



우리가 전 시간에 printf()함수를 이용해서 화면에 출력을 해보았습니다. 다 해보셨죠?


그런데 printf()함수만으로는 우리가 원하는 프로그램을 만들 수 없습니다. 적어도 요즘 많은 프로그램들은 최소한 아이디와 비밀번호는 입력하게끔 되어 있으니 말이죠.


그래서 오늘은 C언어에서 키보드로 입력을 할 수 있는 scanf()함수에 대해서 알아보도록 하겠습니다.




scanf() 함수의 스펙


아래의 내용을 scanf() 함수의 특성을 한 눈에 볼 수 있도록 정리한 것입니다.

잘 모르더라도 일단 넘어가면 됩니다. 나중에 다 알게 되니까요^^





예제 소스 - scanf()로 숫자를 입력받아 입력받은 숫자를 출력하는 소스


이번에는 C언어에서 지원하는 scanf() 함수를 이용해서 숫자를 입력받아 입력한 숫자를 출력하는 소스를 보도록 하겠습니다.

#include<stdio.h>

int main()
{
	// 입력받을 수를 저장할 변수
	int num ;

	// 숫자를 입력받아 num에 저장
	printf("숫자를 입력하세요 : ");
	scanf("%d", &num) ;

	// 입력받은 숫자를 출력
	printf("입력하신 숫자는 %d입니다.\n", num);

	return 0;
}

위의 소스를 실행하면 아래와 같은 화면이 나옵니다.




위 소스를 실행하면서 혹시 이런 궁금증이 있지는 않으셨나 모르겠습니다. 혹시 여러개의 숫자를 입력받을 수도 있는거야?라고 말이죠. 아래의 예제를 통해서 그 답을 확인하도록 하죠^^



예제 소스 - scanf()로 숫자를 2개 입력받아 출력하는 소스


#include<stdio.h>

int main()
{
	// 입력받을 수를 저장할 변수
	int num1, num2 ;

	// 숫자를 입력받아 num에 저장
	printf("숫자를 입력하세요 : ");
	scanf("%d %d", &num1, &num2) ;

	// 입력받은 숫자를 출력
	printf("입력하신 숫자는 %d, %d입니다.\n", num1, num2);

	return 0;
}

위 소스를 실행하면 아래와 같이 나옵니다. 
먼저 1을 입력하고 스페이스바 키를 누른 다음 다음 숫자를 입력하면 됩니다.



또는 아래와 같이 1을 입력하고 엔터키를 누르고 2를 누르면 됩니다.



댓글