프로그래밍/C언어

[C언어] 삼항연산자

킨레이 2016. 3. 25. 15:39

【 삼항연산자 】


 if else문의 축소판이라고 할 수 있는 연산자로 (조건) ? (조건이 참일때 실행) : (조건이 참이 아닐때 실행)로 사용합니다.


 

  int x = 1, y = 5;

  bool bResult = (x < y) ? TRUE : FALSE;

  printf("bResult : %d\n", bResult);


 

  결과값

  bResult : 1 


위에 코드처럼 (x < y)라는 조건이 맞았기 때문에 TRUE값이 bResult에 적용되었습니다.

참이 아니였다면 0값( FALSE )이 출력되었겠죠.

 

위에 코드를 if else문으로 바꾼다면 아래와 같은 코드가 됩니다.


 

  int x = 1, y = 5;

  bool bResult = FALSE;

  

  if( x < y )

       bResult = TRUE;

  else

       bResult = FALSE;


  printf("bResult : %d\n", bResult);



  결과값

  bResult : 1 

 


삼항연산자를 이용하면은 코드를 간략하게 만들수 있지만 가독성이 떨어지는 코드가 되기도 하는데요.

정말 간단한 연산만 삼항연산자를 사용한다면 보기 좋은 코드가 될듯 싶습니다.

 

저는 삼항연산자를 다른 사람 코드를 보고 처음 알았는데요.

제가 처음 공부했던 C언어 책에도 삼항연산자만 나와있고 설명이 없었습니다.

저처럼 코드보고 당황하지 마시고 미리미리 배워두면 좋을것 같습니다.