printf
문자열과 문자열에 지정된 값 을 출력하도록 설계
>> 그래서 " " (큰 따음표)로 묶어준거였음
char h[] = "hello";
printf(h);
printf (문자열, 표현식₁, 표현식₂, ...) ;
변환지정자 % : 값을 내부 형식(이진수)에서 출력 형식(문자)으로 변환하는 방법을 지정
ex) %d : 2진수를 10진수 문자열로 바꿔라
일반형 : %m.pX or %-m.pX
( m,p 정수 ,X : 문자)
// p 생략시 마침표도 사라짐
// m : 문자가 출력될 최소한의 수
출력할 값이m보다 적다면 > 오른쪽 정렬 ( 공백이 들어감)
// -m : 왼쪽정렬
%f
ex) %10.2f
%4d, 123 > 공백123
%4d, 12345 > 12345 // m: 최소한의 수!
%-4d, 123 : 123공백
%5.3d : 최소 5개의 공간 3개의 숫자 필요 i = 40 >공백공백040
%e : 지수형식 표기법
e+04 : 소수점을 오른쪽으로 4자리 이동시키라는 의미 = 10
%g : 유효숫자(기본6개) > 불필요한 0 ,소수점 을 표기하지 않음,
> 크기 예측불가 or 변동이 클때
적당한 숫자일때 : 소수점표기(%f처럼)
매우크고,변동클때 : 숫자의 크기에 따라 지수표기(%e처럼)
이스케이프 문자 ' / '
" , ' / ' 이것처럼 출력되지않는 문자를 출력하게 해줌 > \". \\
scanf
printf 와 유사, 문자or 변환지정자
한줄을 읽고 > 문자를 숫자로 변환한 뒤 > 값 할당
but unforgiving way to read data.
숫자의 시작을 찾을 때는 공백 문자를 무시하고 찾음
%d : nondigit 이 나올때까지 읽음
%f, %e , %g : +-, 숫자(소수점까지), 지수를 차례로 읽음
' / ' 와 같은 형식 지정자는 공백까지도 일치해야함
%d 와같은건 상관없음
ex) 5 / 95 : %d/%d 이면 5 까지만 읽고 ' / 95'(문자는 공백 상관x) 는 다음 scanf 에서 읽어옴
ex) "%d, %d" > 5 95 이면 콤마를 찾다고 공백을 발견하고 종료함
'C언어 > C - knk' 카테고리의 다른 글
7.5 sizeof , 8. array (0) | 2024.11.20 |
---|---|
4장 (0) | 2024.11.16 |
변수, 대입, 초기화 (0) | 2024.11.12 |
1장 . 역사,장단점,난해한 C (8퀸문제),, (1) | 2024.11.09 |