논리 OR 연산자: ||
구문
논리 또는 식
||
논리 및 식
설명
논리 OR 연산자(||
)는 피연산자 중 하나 또는 둘 다인 경우 부울 값을 true
반환하고, 그렇지 않으면 반환 false
합니다true
. 피연산자는 평가 전에 암시적으로 형식 bool
으로 변환되고 결과는 형식 bool
입니다. 논리 OR은 왼쪽에서 오른쪽으로의 결합성을 가집니다.
논리 OR 연산자에 대한 피연산자는 동일한 형식을 가질 필요는 없지만 부울, 정수 또는 포인터 형식이어야 합니다. 피연산자는 일반적으로 관계형 또는 동등 식입니다.
첫 번째 피연산자가 완전히 계산되고 모든 파생 작업이 완료된 후에 논리 OR 계산이 시작됩니다.
두 번째 피연산자는 논리 OR 식이 있을 때 계산이 필요하지 않으므로 첫 번째 피연산자가 계산 false
되는 경우에만 평가됩니다 true
. 단락 평가라고 합니다.
printf( "%d" , (x == w || x == y || x == z) );
위의 예제 x
에서 함수에 대한 두 번째 인수가 w
y
z
정수로 승격되고 값 1이 인쇄되는 경우 함수의 두 번째 인수 printf
가 계산true
됩니다. 그렇지 않으면 계산되고 false
값 0이 인쇄됩니다. 조건 중 하나가 평가되는 즉시 평가가 중지됩니다 true
.
연산자 키워드(keyword)||
C++는 .에 대한 ||
대체 맞춤법으로 지정 or
합니다. C에서는 대체 맞춤법이 iso646.h> 헤더에 <매크로로 제공됩니다. C++에서 대체 맞춤법은 키워드(keyword). iso646.h> 또는 C++ 동등한 <ciso646>의 사용<은 더 이상 사용되지 않습니다. Microsoft C++ /permissive-
/Za
에서는 대체 맞춤법을 사용하도록 설정하려면 컴파일러 옵션이 필요합니다.
예시
// expre_Logical_OR_Operator.cpp
// compile with: /EHsc
// Demonstrate logical OR
#include <iostream>
using namespace std;
int main() {
int a = 5, b = 10, c = 15;
cout << boolalpha
<< "The true expression "
<< "a < b || b > c yields "
<< (a < b || b > c) << endl
<< "The false expression "
<< "a > b || b > c yields "
<< (a > b || b > c) << endl;
}
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기