C언어

C언어 입력함수 scanf

5_jinseok12 2018. 1. 5. 15:23
728x90

입력함수 scanf에 대해 알아보자

scanf("변환문자","주소값") 이라는 것을 알아야 한다

 

 

 

우선 버퍼는 새로 실행시킬때 마다 새로 만들어 진다.

정수를 입력할 때 스페이스바는 무시하고 정수만 입력할 수 있다.

 

 

 

실수 입력

%f와 %lf를 사용한다. printf를 사용할 땐 %g를 사용했지만(필요없는 수를 버림) %f와 %lf누느 원하는 자리수 까지 나타내주기 때문에 실수를 나타낼 때 유용하다

%f(float) , %lf(double) 이므로 자료형에 맞게 사용하면 된다.

 

 

 

문자를 입력할때 앞에 숫자를 입력받고나서 문자를 입력받으면 문제가 생긴다 왜냐하면 버퍼에는 엔터가 남아있기 때문에.

문제를 해결하기 위해선 버퍼를 비워줘야 한다.

문자같은 경우 가장 처음에 나타내지 않는다면 계속 버퍼비우기를 해줘야한다

 

 

 

 

버퍼비우기를 한 후에는 정상적으로 작동하는 것을 알 수 있다.

 

문자열은 문자 배열이다.

공백이나 엔터가 나올 때 까지 계속 출력한다.

ex) hello world 를 입력하면 공백때문에 hello까지 밖에 출력을 못한다.

 

 

입력함수

scanf(" " ,주소값) : 모든 값 출력 가능. 공백입력을 하기 위해선 gets를 알아야한다

getchar() : 문자 전용

gets()     : 문자 배열 이름. 공백을 입력하기 위해 알아야함

 

출력함수

printf(" " , 변수) : 모든것을 출력할 수 있다

putchar(단일문자): 단일문자 전용 함수  . 단일문자나 char 변수만 출력가능

puts (문자열)      : 문자열을 출력

반응형

'C언어' 카테고리의 다른 글

C언어 switch문  (0) 2018.01.09
C언어 if 문  (0) 2018.01.08
C언어 배열과 입력함수  (0) 2018.01.05
C언어 변수와 연산자  (0) 2018.01.03
C언어 변수 선언  (0) 2018.01.02