반응형
소수를 출력하기 위해서 형식지정자를 이용하는데, %f를 사용하면 소수점 이하 여섯자리까지 자동으로 출력됩니다.
그래서 3.14를 출력하고 싶어도 3.140000이 출력됩니다.
어떤 커뮤니티에서, 0이 출력되지 않게 하고 싶은데 어떻게 해야 하는지 질문하는 글이 올라와서 저도 궁금해졌습니다. 한참을 삽질하다가 아주 간단한 방법이 있음을 알았죠. 바로 형식지정자(format specifier)를 이용하는 것입니다.
#include <stdio.h>
int main(void)
{
float pi = 3.14;
printf("%%f를 사용했을 때:%f\n", pi);
printf("%%e를 사용했을 때:%e\n", pi);
printf("%%g를 사용했을 때:%g\n", pi);
return 0;
}
%g 형식 지정자를 이용해 출력하면 이렇게 소수점 이하 0이 모두 사라진 채 출력할 수 있습니다.
참고로, %e는 과학적 표기를 위해 이용합니다.
어떤 문자를 어떤 식으로 출력해야 할지 고민일 때는 형식 지정자를 살펴봅시다. 연습하며 예제를 풀어나가는 단계에선 대부분 해답을 찾을 수 있을 것입니다.
어떤 형식지정자가 있는지 더 알고 싶다면
https://codeforwin.org/2015/05/list-of-all-format-specifiers-in-c-programming.html
형식 지정자나 format specifier를 검색해서 살펴봅시다. 위 사이트가 정리가 잘 되어 있는 것 같아 가져와봤습니다.
다른 언어에서라면 조금씩 다를 수는 있습니다만, 그렇다해도 형식 지정자는 대부분 비슷하기 때문에 c언어 정도만 알아둬도 충분히 써먹을 수 있을 것 같네요.
반응형
'프로그래밍 > C, C++' 카테고리의 다른 글
<C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 5 (13,14,15,16,17,18) (0) | 2020.07.25 |
---|---|
<C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 5 (8,9,10,11,12) (0) | 2020.07.24 |
<C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 5 5~7 (0) | 2018.03.17 |
<C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 5 1~4 (0) | 2018.03.03 |
<C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 4 (11~16) (0) | 2018.02.02 |