printf() & scanf()

CODEDRAGON Development/C, C++

반응형

       

printf()함수 vs scanf()함수

printf()함수

scanf()함수

모니터에 데이터를 출력하는 함수

키보드로 데이터를 입력하는 함수

stdio.h 헤더 파일이 필요

stdio.h 헤더 파일이 필요

PrintFormatted해서 print f를 추가하여 만든 함수 (출력 서식 필요)

Scan Formatted해서 scan f를 추가하여 만든 함수 (입력 서식 필요)

 

 

printf()함수

printf("서식문자", 인자);

printf("%d", var);

 

printf

모니터에 데이터 출력하기

%d

출력 서식문자

모니터에 데이터를 출력할 때 서식 문자 %d 형식으로 표시합니다.

var

데이터가 저장된 변수

데이터가 저장되어 있는 변수 var의 값을 출력합니다.

 

 

 

 

scanf( )함수

scanf("서식문자", 인자);

scanf("%d", &var);

 

scanf

키보드로부터 데이터 입력 받기

%d

입력 서식문자

키보드로부터 데이터를 입력할 때 서식 문자 %d 형식으로 입력 받습니다.

&var

입력을 저장하는 변수

입력받은 데이터를 변수 var에 저장합니다.

 

scanf 함수는 공백문자가 아닌 것들 이전에 나오는 모든 공백 문자들을 모두 무시합니다.

공백문자(모두 무시)일반문자(공백문자 아님)

 

 

 

공백 문자(Whitespace character)

띄어쓰기 한 칸

' '

개행 문자

\0

탭 문자

\t

 

 

scanf()에서 서식문자 사용

%[*][길이(width)][타입(type)]

 

%

서식문자(format) 의미

*

데이터를 stdin 에서 받아들이지만 무시합니다.

*에 대응되는 인자에는 받아들인 데이터가 저장되지 않고 다음 형식 태그에 대응되는 인자에 저장됩니다

 

길이

stdin 에서 읽어들일 최대 문자 수를 지정한다.

예를 들어 scanf("%10s", str); 로 했을 경우 stdin 에서 최대 10 문자를 읽어와 str 에 저장합니다. 이 때 주의할 점은 str 에는 NULL 문자가 들어갈 수 있는 충분한 공간이 남아 있어야 합니다.

타입

데이터를 어떠한 형식으로 혹은 어떠한 값만을 읽어들어야 할 지에 대해 지정합니다.