본문 바로가기
Etc./C

[C] 삼항연산자

by ahj 2021. 9. 21.

3개의 요소로 이루어지는 3항(ternary) 연산자는 "조건식 ? (참일 때의 값) : (거짓일 때의 값)” 의 형태로 사용하는 연산자이다.

 

3항 연산자는 자주 사용되지는 않지만, 복잡한 계산식이나 조건 처리, 비교 구조를 매우 간단히 표현할 수 있게 해준다.
잘 사용해보면 나름대로의 재미와 묘미가 있는 연산자이다.
특히, 보다 짧은 코드로 문제를 해결하려고 하는 숏 코딩(coding)에서는 빠질 수 없는 요소이다.
"똑같이 해결할 수 있는 프로그램이지만, 때로는 아주 적은 소스코드 양으로 풀어내는 것을 매우 즐기는 숏 코더들이 있다."
숏 코딩은 일종의 재미이기는 하지만, 프로그래밍언어의 밑바닥 기초, 세세한 처리 과정에 대한 이해, 컴파일러의 소스코드 해석과 변환 등에 대한 경험과 지식이 필요하다.

따라서 3항 연산자 ? 를 중첩해(괄호로 묶는 등..) 이용하면 여러 값들을 순서대로 비교해 가장 큰/작은 값을 계산할 수 있다.

예를 들어
(a>b ? a:b)>c ? (a>b ? a:b):c 의 계산식은
a, b, c 의 값 중 가장 큰 값으로 계산된다.

여러 가지 연산자가 동시에 사용된 식이 있을 때, 어떤 우선순위에 따라 순서대로 계산이 되는지 찾아보도록 한다.

“연산자 우선순위”를 검색하면 우선순위와 결합방향이 나온다.

[출처]: https://codeup.kr/problem.php?id=1064 

 

[기초-삼항연산] 정수 3개 입력받아 가장 작은 수 출력하기(설명)

C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요.  - 모든 내용

codeup.kr

딱 내가 하고 싶은 숏코딩

숏코딩이 너무 재밌다. 시간이 오래 걸려도 짧은 줄의 코딩은 즐겁다 ㅎㅎ if문을 여러 줄로 돌리는 것보다 짧은 한줄의 삼항연산자가 재밌다.

'Etc. > C' 카테고리의 다른 글

[C] 포인터, 배열, 동적메모리할당  (0) 2021.10.09
[C] 문자열 공백/띄어쓰기 입력  (0) 2021.09.26
[C] 데이터 처리  (0) 2021.09.21
[C/C++] 포인터  (0) 2021.09.19

댓글