C언어의 기초 문법

scanf

문자나 숫자를 "입력"받는다

scanf는 입력 함수를 말하는 것입니다. "C언어의 기초"에서 변수를 배웠지요? 거기에서 변수에 입력값을 넣는 방법을 알려드리겠습니다.

int a, b; // a, b라는 변수가 생겼고, a, b의 값은 미정입니다.
scanf("%d %d", &a, &b); // scanf 함수를 사용해 a, b의 값을 사용자의 입력값으로 정합니다.
printf("%d %d", a, b); // printf 함수로 a, b를 출력한다.
/* result
input: 1, 3
output: 1, 3
*/

이처럼 scanf 함수는 따옴표 안에 변환문자를 넣고, 뒤에 입력할 변수를 씁니다. 이 때, 변수 앞쪽에는 &을 붙입니다.

 정리하면 scanf("변환문자", &변수); 로 쓸 수 있습니다.

scanf로 여러 개의 변수를 입력받을 수 있는데, 이럴 때는 변환문자 여러 개를 사용하시면 됩니다. 하지만, 변환문자 사이에 있는 기호가 문제가 되요. 정리해드릴게요

space: 모든 문자가 사이에 다 들어와도 됩니다. %d %d면 입력할 때 : , . - = 같은 기호들을 쓸 수 있습니다.

나머지는 꼭 그 기호를 쓰셔야 합니다. %d-%d면 입력할 때 무조건 -를 붙여주어야 합니다.

 

scanf 함수에서는 변환문자, 사이에 들어가는 기호만 있어야 합니다. \n같은 기호문자는 변환문자로 인식해 에러로 뜰 수 있습니다 (제외: %%, \\)

댓글

댓글 본문