살아가는 이야기
printf에서 long long, long double 출력하기 본문
C 언어에 long long(아주 긴 정수) 타입과 long double 타입이 추가되었지만 이를 출력하는 방법을 몰라서 제대로 사용하지 못하는 경우가 있다. printf에서 이를 출력하려면 각각 %lld, %lf를 사용하면 된다. long 타입 값은 %ld로 출력하면 된다. 구체적인 예를 보이면 다음과 같다.
#include <stdio.h>int main() {
long ln = 123456789L;
long long lln = 1234567890123456789LL;
double dx = 1.234567890123456789;
long double ldx = 1.234567890123456789L;
printf("ln = %d\n", ln);
printf("ln = %ld\n", ln);
printf("lln = %lld\n", lln);
printf("dx = %.9f\n", dx);
printf("dx = %.19f\n", dx);
printf("ldx = %.19Lf\n", ldx);
return 0;
}
이를 gcc(버전 4.5.0)로 컴파일하여 실행한 결과는 다음과 같다.
ln = 123456789
ln = 123456789
lln = 1234567890123456789
dx = 1.234567890
dx = 1.2345678901234566904
ldx = 1.2345678901234567890
Comments