- #include<stdio.h>
- int main(void)
- {
- int x = 0;
- (3 > 2) || (++x < 5);
- printf("x = %d\n", x); //1번
- ( x != 0 ) && ( y / x == 3 ); //2번
- return 0;
1번에서 왜 x=0이라고 나오는건가요? or이니깐 3>2가 맞고 그럼 x=1로 나와야하지 않나요?
2번에선 왜 x=0인데 y/x에선 y/0인데 오류가 안생기는건가요...?
1번에서 왜 x=0이라고 나오는건가요? or이니깐 3>2가 맞고 그럼 x=1로 나와야하지 않나요?
2번에선 왜 x=0인데 y/x에선 y/0인데 오류가 안생기는건가요...?
short circuit rule
감사합니다!
or 문에서 먼저 실행된 조건문이 참이면 그 뒤는 다 필요 없어서 실행 안됨 위에 short circuit evaluation이라고 검색 ㄱ and 문에서는 false일 때 뒷부분 생략
감사합니다!!