1. 입력
main(void){ return 0; } |
janggom tistory 로 입력 |
scanf는 입력을 읽기 시작한 후 첫번째 공백문자(빈칸, 탭, 개행문자)를 만나는 곳까지 읽어들인다.
|
2. scanf()의 변경자
* - 입력을 건너뛰게 한다. "%*d"
숫자 - 최대 필드 너비, 최대 필드 너비에 도달하거나 첫번째 공백문자를 만나는 경우에 입력이 중지된다. "%10s"
int형 입력
%d - 10진수 정수형입력받음
%i - 0이 앞에 붙으면 8진수로 0x로 붙으면 16진수로 가정하여 입력
%o - 정수자료형에 8진수 형태 입력값 저장
%x - 정수 자료형에 16진수 형태 입력값 저장
short형 입력
%hd %hi - short int 값 입력 받음
%ho %hx %hu - unsigned short int값 입력 받음
float형 입력
%e %E - 지수형 형태값을 입력받음
%f - 소수형태 입력값 입력
%g - %e,%f중 가장 간단한 값 입력받음
double형 입력
%le %lf %lg - float형 설명과 동일
%Le %Lf %Lg - long double형 입력
long형 입력
%ld %li - long값 입력 받음
%lo %lx %lu - unsigned long값 입력 받음
( printf()는 %f가 float, double에 모두 대응되는데 비해 scanf()는 float와만 대응된다. 따로 %lf를 써야함)
3. scanf()의 리터값
- 성공적으로 읽어들인 항목수
읽어들인 항목이 없다면 0을 리턴, 파일의 끝이라면 EOF(end of file)을 리턴
ex) while(scanf("%ld",&num)==1){
.......
}
4. * 변경자 printf()와 scanf()의 차이점
printf() 필드너비 대신 사용 "%*d" -> 전달인수 2개
scanf() 건너뛰기 특정열 입력 "%*d %*d %d" -> 전달인수 1개