23.4 true, false를 문자열로 출력하기

true, falseprintf로 출력하고 싶다면 다음과 같이 삼항 연산자와 문자열을 활용하면 됩니다.

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 서식 지정자를 사용해도 됩니다.

삼항 연산자는 조건식뿐만 아니라 참, 거짓 값으로도 판단할 수 있으므로 불값이 들어있는 변수를 그대로 사용하면 됩니다.