이 연산자는 if~else문을 일부 대체할 수 있고, 피 연산자가 3개이기 때문에 삼항 연산자 라고도 불린다. 조건 연산자는 다음과 같이 구성된다. 

(num1>num2) ? (num1) : (num2);

위 코드에서 조건이 참이면 num1 을 반환하고 거짓이면 num2를 반환한다. 대입연산자보다 조건연산자의 우선순위가 높기 때문에 다음과 같이 활용할 수 있다.

int num3 = (num1>num2) ? num1 : num2;

 

다음은 조건연산자를 활용하여 입력한 정수의 절댓값을 출력하는 예시이다.

#include <stdio.h>

int main(void)
{
    int num, abs;
    printf("input num : ");
    scanf("%d", &num);

    abs = num>0 ? num : num*(-1);
    printf("result : %d\n", abs);
    return 0;
}

'Language > C, C++' 카테고리의 다른 글

[C] continue  (0) 2020.12.05
[C] break  (0) 2020.12.05
[C] 조건적 실행  (0) 2020.12.05
[C] for  (0) 2020.11.29
[C] do~while  (0) 2020.11.28

+ Recent posts