#include <stdio.h>



void main(void)

{

    int i = 0;

    int j = 2;

    int result;



    result = i && ++j;

    printf("%d, %d, %d", i, j, result);



    result = i || ++j;

    printf("%d, %d, %d", i, j, result);

}


결과
0 2 0 0 3 1

short-circuit operation은 아시다시피 && 와 || 라는 두가지 연산자가 있습니다.

첫번째 예였던 [1] && [2] 일 경우에는 [1]이 False라면 [2]를 수행하지 않습니다.
두번째 예제의 [1] || [2] 일 경우엔 [1]이 True라면 [2]를 수행하지 않습니다.

perl에서 많이 쓰는 문체로 알고 있는데 가끔 만나면 오해하기 쉽상이라서 포스팅해봅니다.

Posted by ⓩero