태그된 제품에 대해 수수료를 받습니다.
(x > y) ? x : y;
이 형식은 C 언어에서 삼항 연산자 (ternary operator) 또는 조건 연산자 (conditional operator)라고 불린다.
이 구문은 다음과 같은 형태를 가지고 있다.
condition ? expr1 : expr2;
condition: 평가될 조건, 이 조건이 참이면 expr1 반환
expr1: 조건이 참일 때 실행되는 표현식
expr2: 조건이 거짓일 때 실행되는 표현식
예를 들어,
(x > y) ? x : y;는 x가 y보다 크면 x를 반환하고, 그렇지 않으면 y를 반환
이 구문은 if-else 문을 간단하게 표현할 수 있어서 코드가 더 간결해지는 장점이 있다.
예시
#include <stdio.h>
int max(int x, int y) {
return (x > y) ? x : y;
}
int min(int x, int y) {
if (x > y)
return y;
else
return x;
}
void main() {
int i = 10, j = 20;
printf("%d %d", max(i, j), min(i, j));
}
max 함수
두 정수 x와 y를 매개변수로 받는다.
x가 y보다 크면 x를 반환하고, 그렇지 않으면 y를 반환
min 함수
두 정수 x와 y를 매개변수로 받는다.
x가 y보다 크면 y를 반환하고, 그렇지 않으면 x를 반환
main 함수
정수 i와 j를 각각 10과 20으로 초기화
max(i, j)와 min(i, j)의 값을 출력
i와 j의 값을 대입하여 결과를 계산
max(10, 20)의 결과는 20
min(10, 20)의 결과는 10
따라서, 프로그램의 출력은 20 10
태그된 제품에 대해 수수료를 받습니다.