int x = 2;
int y = 2;
if(x == 1 && y++ == 2)
{
}
cout << y << endl;
<result>
2
&& 논리연산자는 왼쪽의 값이 false일 경우
오른쪽도 false로 해서 수식이 작동되지 않은 것이다.
드모르간 법칙
XOR
false false false
false ture true
true false true
true true false
cpp에서는 XOR이 없어서
if(x != y) 형태로 사용한다.
bool v1 = true;
bool v2 = false;
bool v3 = false;
bool r1 = v1 || v2 && v3;
bool r2 = (v1 || v2) && v3;
bool r3 = v1 || (v2 && v3);
cout << r1 << endl;
cout << r2 << endl;
<result>
1
0
1
논리 연산자 &&가 || 보다 우선순위가 높다.
괄호를 치는 것이 중요하다.
'programming > c++' 카테고리의 다른 글
3.8 비트단위 연산자 (0) | 2019.04.22 |
---|---|
3.7 이진수 (0) | 2019.04.22 |
3.5 관계 연산자(부등호) (0) | 2019.04.19 |
3.4 sizeof, comma operator, conditional operator (0) | 2019.04.19 |
3.3 증감 연산자 (0) | 2019.04.18 |