다음 C 프로그램의 실행 결과는?
정답 1번
코드의 실행 흐름을 분석하면 다음과 같습니다.1. a = -2, b = !a (0이 아니므로 b = 0) 2. 첫 번째 printf: a(-2), b(0), a\&\&b(0), a||b(1) 출력 → -2 0 0 13. if(b && C(10)): 논리 AND(&&) 연산에서 b가 0(false)이므로 단락 평가(Short-circuit evaluation)가 발생하여 C(10)은 호출되지 않습니다.4. if(b & C(20)): 비트 AND(&) 연산은 두 피연산자를 모두 평가하므로 C(20)이 호출되어 20이 출력됩니다. 이후 0 \& 1은 0(false)이므로 "B"는 출력되지 않습니다.최종 결과: -2 0 0 1 20 오답·함정 포인트: 문제에서 요구하는 방향이 ‘옳은 것’인지 ‘옳지 않은 것’인지 먼저 표시한 뒤, 정답 선택지의 핵심 정의와 나머지 선택지의 정의를 대조하면 실수를 줄일 수 있습니다.