[C++] 삼항연산자를 중첩해서 쓸 때 주의할 점
가령, 정수형 변수 A, B, C, D 중 최솟값을 출력하려는 경우 코드를 다음과 같이 작성할 수 있다. #include using namespace std; int main() { int A, B, C, D; scanf("%d %d %d %d", &A, &B, &C, &D); int min = A < B ? A : B; min = C < min ? C : (D < min ? D : min); printf("%d", min); return 0; } 얼핏보면 문제가 없어 보인다. 하지만 문제는 다음 코드에 있다. min = C < min ? C : (D < min ? D : min); D < C < min인 경우 위 코드의 결과는 아이러니하게도 C가 된다. 왜냐하면 C와 D의 비교가 이루어지지 않기 때문이..