C bool타입의 형식 지정자를 알고 싶습니다
조회수 18160회
리눅스 커널 코드가 bool을 씁니다. 이래도 되는건가요? 에서 보면
ANSI C99부터는 _Bool
이나 stdbool.h
에 _Bool
이 있다고 하는데
그럼 1, 0이 출력되는 게 아니라 true/false로 출력되게 하는 형식 지정자는 어디 있나요?
bool x = true;
printf("%B\n", x);
출력 : true
1 답변
-
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);
댓글 입력