여태까지 || 연산이 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
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
2 + 3 + 4 가 문제없는 것과 똑같죠.
2 + 3 + 4 가 문제없는 것과 똑같죠.
좋은 하루 되세요!
이런식으로 한번 보시기 바랍니다.
이런식으로 보시기 바랍니다.
여기서 중요한 키 포인트가 연산자 우선 순위와 결합 방향입니다.
- 1차 -
- 2차 -
(true || false) 는 결과가 ture 이므로 아래와 등치입니다
c 언어 연산자 우선순위 참고 주소 : https://dojang.io/mod/page/view.php?id=188
댓글 달기