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 22 비트 연산자 사용하기'에서 설명하겠습니다).
||는 두 값 중 하나만 참이라도 결과가 참이 나옵니다. 따라서 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은 확인하지 않고 참으로 결정