출력 함수


C언어 제공하는 입력 함수에 대해 알아보겠다.

콘솔화면에 입력에 대한 함수는 scanf이다.

콘솔화면은 윈도우 프로그램 실행 창에 cmd라고 쳤을 때 나오는 command 창이다.

함수에 대한 사용법에 대해 알아보자


scanf 사용법


scanf를 사용하기 위해서는 우선 사용자가 입력할 데이터 크기 및 종류를 파악하여 알맞은 변수를 선언해 둬야 한다.

예를들어 숫자를 입력 받으면 int를 사용하거나 문자열 20문자까지 받기 위해 char a[21] 과 같은 선언이 필요하다.

예제와 함께 설명해보도록 하겠다.

int selNum = 0;

scanf( "%d", &selNum );


위의 예제는 사용자에게 데이터를 입력 받아 int형인 selNum 변수에 담는 역활을 한다.
사용자가 문자를 입력하면 엉뚱한 값이 변수에 담겨질 수 있다.

다음은 int형 문자열등 다양한 데이터를 입력받는 예제이다.

#include <stdio.h>

#include <stdlib.h>


int main(int argc, char *argv[]) 

{

int selNum = 0;

int strContent[128] = {0,};

printf("숫자를 입력하시오\n");

scanf( "%d", &selNum );

printf(" 입력한 숫자는  [%d]\n", selNum);

printf("문자를 입력하시오(127byte)\n");

scanf( "%s", &strContent );

printf(" 입력한 문자는  [%s]\n", strContent);

return 0;

}


입력할 때 127byte를 넘기면 데이터가 깨지거나 알 수 없는 문자가 입력 될 수 있으니 127바이트에 맞춰서 입력하길 바랍다.


scanf 로 동시에 2개이상 입력 받기




다음과 같이 동시에 2개의 입력 값을 받을 수 있다.


scanf( "%d %s", &selNum, &strContent );


입력 할 때 데이터의 경계를 공백(스페이스바, tab키, enter) 으로 구분한다.

그러니 숫자를 입력 후 공백(스페이스바, tab키, enter)을 입력 후 문자를 입력 하면 된다.


다음 예제를 통해 확인해보자.


#include <stdio.h>

#include <stdlib.h>


int main(int argc, char *argv[]) 

{

int selNum = 0;

int strContent[128] = {0,};

printf("숫자와 문자를 입력하시오\n");

scanf( "%d %s", &selNum, &strContent );

printf(" 입력한 숫자는  [%d]\n", selNum);

printf(" 입력한 문자는  [%s]\n", strContent);

return 0;

}




scanf 사용시 변수 앞에 &는 무엇인가?


scanf를 사용시 아래 처럼 변수 앞에 &를 넣는데 


scanf( "%d %s", &selNum, &strContent );


결론 부터 말하면 &은 변수의 주소이다.

주소라 하면 변수가 하나 할당 되면 메모리 어딘가에 할당이 되는데 해당 메모리의 위치를 표시한다고 생각 하면 된다.

우선 이정도만 알아두고 다음에 포인트 설명 때 자세히 하도록 하겠다.


반응형

'프로그램 > C' 카테고리의 다른 글

[C] while, do~while 반목문 사용법  (0) 2017.03.13
[C] 비트(bit) 단위 연산  (0) 2017.03.12
[C] 출력 함수 printf 사용법  (0) 2017.03.09
[C] 증감 연산자  (0) 2017.03.08
[C] 연산자  (0) 2017.03.07

+ Recent posts