- AND연산에서의 단락평가
printf("%d\n", 0 && 1); // 첫번째가 거짓이므로 두번째 값 확인하지 않고 거짓으로 결정
c언어에서 0은 거짓, 0이 아닌 값은 모두 참이므로 첫 번째 값 0은 거짓으로 확인하고 논리AND 결과는 무조건 거짓이 되므로 두 번째 값은 확인하지 않는다. 즉, 논리 AND연산은 모두 참이어야 참의 결과가 나오기 때문에 하나라도 거짓일 시 뒤의 연산을 계속 하더라도 결과는 거짓으로 결정되기에 단락평가가 사용된다.
- OR연산에서의 단락평가
printf("%d\n", 1 || 1); // 첫번째가 참이므로 두번째 값 확인하지 않고 참으로 결정
printf("%d\n", 1 || 0); // 첫번째가 참이므로 두번째 값이 거짓이어도 확인하지 않고 참으로 결정
논리 OR연산은 하나라도 참일 경우 결과가 참이므로, 첫 번째 결과가 참일 경우 두 번째 값 결과에 상관없이 참으로 결정한다.
반응형
'▶개발 > C Language' 카테고리의 다른 글
C언어 연산자 우선순위 정리표 (0) | 2018.02.13 |
---|