IT/JAVA

디버깅표 작성하기

_KH_ 2024. 12. 26. 18:08

[문제]

int a=10/3;
int b=a++ * 2;
int c=a>=b&&a!=0?1:2;

 

[디버깅표 결과]

 a                 b                  c

------------------------------------

 3             

                    6

 4                                   

                                         2

int b = a++ * 2

 2번째 줄 연산자 우선순위는 아래와 같다.

b = a * 2
a = a + 1

그러므로 a는 4, b는 6이다.

  a >= b (f) && a != 0 ? 1 :2

3번째 줄의 경우 &&는 양쪽 조건이 모두 참이어야 하는데, a >= b가 거짓(false)이므로 뒤의 조건은 계산하지 않고 넘어간 후 c = 2를 출력한다. 

 

a = 4, b =6, c =2가 최종 답이다.