2022-03-30 단축_계산

논리연산자 주의사항으로 단축 계산을 알아봤다.

// C++ code
//
void setup()
{
	Serial.begin(9600);
  
  	int x = 1; 
    int y = 1;
  
	if ((1==0)&&(++x==2)){}
	Serial.println(x);

	if ((1==1)||(--y==1)){}
	Serial.println(y);
  
}

void loop(){}
Code language: C++ (cpp)

출력>>
1
1

AND연산자는 첫번째 (1==0)이 거짓인 것을 파악하면 (++x==2)를 실행하지 않는다.

이와 같은 현상은 단축 계산의 영향이다.

단축 계산

  • (A) && (B) : A가 거짓인 것을 확인하면 굳이 B를 실행, 확인하지 않는다.
  • (A) || (B) : A가 참인 것을 확인하면 굳이 B를 실행, 확인하지 않는다.

 

댓글 남기기