Programming/C++ & Unreal

삼항연산자

장형이 2018. 3. 23. 21:27

삼항연산자는 조건문을 간략하게 줄인것이다.

(조건) ? 참일때 : 거짓일때 ;

이런 형태로 사용이 된다.


    if(a>=b) printf("%d",a); 

    else printf("%d",b); 

           ↓

    printf("%d",(a>b)?a:b);



위 소스는 두 정수(a,b)중 더 큰 값을 출력하는 소스인데,

아래처럼 짧은 조건은 오히려 삼항연산자를 사용하는 것이 더 보기 좋다.


#include<stdio.h> 

#define Max(Num1,Num2) ((Num1>Num2)?Num1:Num2) 

int main(){ 

    int a,b; 

    scanf("%d %d",&a,&b); 

    printf("%d",Max(a,b)); 

    return 0; 

}



위 #define~ 부분은



int Max(int num1,int num2){ 

    if(num1>=num2) return num1; 

    else num2; 

}




이 함수를 매크로화 했다고 생각하면 편할 것 같다.