자료형에 맞는 형식 지정자를 사용하는게 좋습니다.
일률적으로 %c, %d를 사용하게 되면 뜻하지 않은 값이 출력 될 수도 있습니다.
예를 들어서
int i = -1;
printf("%d %u\n", i, i);
라는 문장을 실행하면 출력 결과는
-1 ffffffff
라고 출력됩니다.
double 형의 값을 %f로 출력하면
float형의 값으로 출력되는데, 이 값이 float형으로 표현되지 않는 값이라면 엉뚱한 값이 출력됩니다.
double형은 %lf로 출력하는게 좋습니다.
c언어에서는 char형이나 short int형 모두 int형으로 처리되기때문에 %d를 써도 출력이 되지만
전용 출력 지정자를 사용해서 출력하는게 좋습니다.
부호있는수와( signed) 부호 없는 수는 (unsigned) 부호가 음수일 경우에는 보수가 출력되기때문에
꼭 전용 출력 지정자를 사용해야 합니다. (물론 일부로 보수 출력을 보기위한 경우에는 예외이겠지만요...)
그리고 long 형 값을 %d로 출력할때 long 형의 자료형 크기와 int 형의 자료형 크기가 같다면 문제는 없지만
두 자료형의 크기가 다른 경우 long 형의 값이 짤려서 엉뚱한 값으로 출력될 수 있기때문에 전용지정자를 사용하는게 좋습니다.
unsigned short int 는 %uh 이나 %hu로 출력하면 됩니다.
unsigned long int 는 %ul이나 %lu로 출력하면 됩니다.
float 형은 %f로 double 형은 %lf 로 출력하면 됩니다.
참고로 long double 형은 %Lf 로 출력하면 됩니다.
'블로그 공학 > 단기 컨텐츠' 카테고리의 다른 글
애플빠가 말하는 애플의 새 제품들 (아이폰6, 애플 워치, 애플 페이) (0) | 2014.09.15 |
---|---|
(동영상포함) 진짜사나이 여군특집 유격 - 달라진 맹승지, 담장 넘기 성공 (0) | 2014.09.15 |
해킹툴 종류, 해커 레벨 (3) | 2014.09.14 |
CD KEY 추출, 변경 방법 (0) | 2014.09.14 |
make: 경고: 시계가 잘못되었음이 발견되었습니다 (0) | 2014.09.14 |
C 함수 실행시간 측정 (0) | 2014.09.14 |
비트 연산자 활용법 (0) | 2014.09.14 |
css] cell-spacing, cell-padding (0) | 2014.09.14 |
MultipartRequest를 이용하여 업로드구현하기 (소스 코드) (0) | 2014.09.14 |
[경험을바탕] 윈도우7 -> xp 설치 후 멀티부팅 (0) | 2014.09.14 |