21.2 OR 연산자 사용하기

이번에는 OR 연산자 ||를 알아보겠습니다.

  • a || b

or_operator.c

#include <stdio.h>
 
int main()
{
    printf("%d\n", 1 || 1);    // 1: 1 OR 1은 참
    printf("%d\n", 1 || 0);    // 1: 1 OR 0은 참
    printf("%d\n", 0 || 1);    // 1: 0 OR 1은 참
    printf("%d\n", 0 || 0);    // 0: 0 OR 0은 거짓
 
    printf("%d\n", 2 || 3);    // 1: 2 OR 3은 참
    
    return 0;
}

실행 결과

1
1
1
0
1

OR 연산자는 ||처럼 | 기호를 두 개 붙여서 사용하며 하나만 사용하면 OR 비트 연산자가 되므로 주의합니다(비트 연산자는 Unit 23 비트 연산자 사용하기'에서 설명하겠습니다).

||는 두 값 중 하나만 참이라도 결과가 참이 나옵니다. 따라서 1 || 1, 1 || 0, 0 || 1 모두 참이고, 0 || 0만 거짓입니다. 그리고 C 언어에서는 0이 아닌 모든 값이 참이므로 2 || 3도 참이며 결과는1이 출력됩니다.

OR 연산자는 두 값 중 하나만 참이라도 참이므로 첫 번째 값이 참이면 두 번째 값은 확인하지 않고 바로 참으로 결정합니다.

printf("%d\n", 1 || 1);    // 첫 번째 값 1이 참이므로 두 번째 값 1은 확인하지 않고 참으로 결정
printf("%d\n", 1 || 0);    // 첫 번째 값 1이 참이므로 두 번째 값 0은 확인하지 않고 참으로 결정
printf("%d\n", 2 || 3);    // 첫 번째 값 2가 참이므로 두 번째 값 3은 확인하지 않고 참으로 결정