23.4 true, false를 문자열로 출력하기
true, false를 printf로 출력하고 싶다면 다음과 같이 삼항 연산자와 문자열을 활용하면 됩니다.
true_false_string.c
#include <stdio.h> #include <stdbool.h> // bool, true, false가 정의된 헤더 파일 int main() { bool b1 = true; bool b2 = false; printf(b1 ? "true" : "false"); // b1이 true이므로 true가 출력됨 printf("\n"); printf(b2 ? "true" : "false"); // b2가 false이므로 false 출력됨 printf("\n"); printf("%s\n", b1 ? "true" : "false"); // b1이 true이므로 true가 출력됨 printf("%s\n", b2 ? "true" : "false"); // b2가 false이므로 false 출력됨 return 0; }
실행 결과
true false true false
printf에서 안에서 삼항 연산자를 활용하여 변수가 true이면 "true" 문자열을 출력하고, false이면 "false" 문자열을 출력합니다. 서식 지정자 없이 그대로 출력해도 되고, %s 서식 지정자를 사용해도 됩니다.
삼항 연산자는 조건식뿐만 아니라 참, 거짓 값으로도 판단할 수 있으므로 불값이 들어있는 변수를 그대로 사용하면 됩니다.