여태까지 || 연산이 2개 까지만 되는 줄 알고 사용했는데
if ( true || false || false ) { printf... }
이런식으로 코드가 작성이 되네요.... 혹시 이게 표준 문법 맞나요?
gcc에서 모든 워닝 뜨게 해도 이상없이 컴파일은 됩니다
2 + 3 + 4 가 문제없는 것과 똑같죠.
2 + 3 + 4 => (2 + 3) + 4 // +의 결합방향은 좌->우 A || B || C => (A || B) || C // ||의 결합방향도 좌->우
좋은 하루 되세요!
이런식으로 보시기 바랍니다.
여기서 중요한 키 포인트가 연산자 우선 순위와 결합 방향입니다.
- 1차 -
if ( (true || false) || false) { }
- 2차 - (true || false) 는 결과가 ture 이므로 아래와 등치입니다
if (true || false) { }
c 언어 연산자 우선순위 참고 주소 : https://dojang.io/mod/page/view.php?id=188
2 + 3 + 4 가 문제없는 것과 똑같죠.
2 + 3 + 4 가 문제없는 것과 똑같죠.
좋은 하루 되세요!
이런식으로 한번 보시기 바랍니다.
이런식으로 보시기 바랍니다.
여기서 중요한 키 포인트가 연산자 우선 순위와 결합 방향입니다.
- 1차 -
if ( (true || false) || false) { }- 2차 -
(true || false) 는 결과가 ture 이므로 아래와 등치입니다
if (true || false) { }c 언어 연산자 우선순위 참고 주소 : https://dojang.io/mod/page/view.php?id=188