C bool타입의 형식 지정자를 알고 싶습니다


리눅스 커널 코드가 bool을 씁니다. 이래도 되는건가요? 에서 보면 ANSI C99부터는 _Bool이나 stdbool.h_Bool이 있다고 하는데 그럼 1, 0이 출력되는 게 아니라 true/false로 출력되게 하는 형식 지정자는 어디 있나요?

bool x = true;
printf("%B\n", x);

출력 : true

  • 2016년 02월 01일에 작성됨

조회수 465


1 답변


좋아요
0
싫어요
채택취소하기

C는 bool타입을 지원 하지만, true/false를 출력해주는 형식 지정자는 없습니다. printf에서 bool의 형식 지정자는 보통 %d를 권장하고 있고, true/false로 출력하고 싶다면 삼항연산자 등을 써서 별도로 지정해 줘야 합니다

bool x = true;
printf("%d\n", x); // 1출력

// true나 false를 출력하려면 다음 중 아무거나
printf(x ? "true" : "false");
//또는
printf("%s", x ? "true" : "false");
//또는
fputs(x ? "true" : "false", stdout);
  • 2016년 02월 01일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close