프로그래머 는 더 긴 if 및 else 조건문 대신 의사 결정을 위해 삼항 연산자 를 사용합니다 .
삼항 연산자는 세 가지 인수를 사용합니다.
- 첫 번째는 비교 인수입니다.
- 두 번째는 진정한 비교 결과입니다.
- 세 번째는 잘못된 비교 결과입니다.
삼항 연산자를 속기 또는 if-else 문을 작성하는 것으로 생각하면 도움이됩니다. 다음은 if 및 else 를 사용한 간단한 의사 결정 예제 입니다 .
int a = 10, b = 20, c; if (a < b) { c = a; } else { c = b; } printf("%d", c);
이 예제에는 10 줄 이상이 필요하지만 그럴 필요는 없습니다. 삼항 연산자를 사용하여 단 3 줄의 코드로 위 프로그램을 작성할 수 있습니다.
통사론
condition ? value_if_true : value_if_false
문 은 충족 되는 value_if_true
경우 condition
, value_if_false
그렇지 않은 경우 로 평가됩니다 .
다음은 삼항 연산자를 사용하도록 재 작성된 위의 예입니다.
int a = 10, b = 20, c; c = (a < b) ? a : b; printf("%d", c);
위 예제의 출력은 다음과 같아야합니다.
10
c
a
조건 a < b
이 참 이었기 때문에 로 설정 됩니다.
인수 value_if_true
와 value_if_false
는 동일한 유형이어야하며 전체 문이 아닌 단순한 표현식이어야합니다.
삼항 연산자는 if-else 문처럼 중첩 될 수 있습니다. 다음 코드를 고려하십시오.
int a = 1, b = 2, ans; if (a == 1) { if (b == 2) { ans = 3; } else { ans = 5; } } else { ans = 0; } printf ("%d\n", ans);
다음은 중첩 된 삼항 연산자를 사용하여 다시 작성된 위의 코드입니다.
int a = 1, b = 2, ans; ans = (a == 1 ? (b == 2 ? 3 : 5) : 0); printf ("%d\n", ans);
위의 두 코드 세트의 출력은 다음과 같아야합니다.
3