일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Javascript
- Desktop
- tipssoft
- c#
- 지식나눔강좌
- 배열
- c++
- 함수
- CS
- 백준
- VS ERROR
- 포인터
- 김성엽
- Programming
- 프로그래밍
- 문법
- 알고리즘
- doit코틀린프로그래밍
- Tips프로그래밍강좌
- Direct2D
- 연산자
- 티스토리
- Visual Studio
- Kotlin
- Windows
- 이지스퍼블리싱
- 리뷰
- Win32
- Tips강좌
- c
Archives
- Yesterday
- Today
- Total
F.R.I.D.A.Y.
삼항 연산자 ? : 본문
반응형
(조건식) ? 참 반환 : 거짓 반환
삼항 연산자는 연산자 중 유일하게 연산자를 사용할 때 필요한 항이 세 개인 연산자로, if문을 대체할 수 있는 연산자다.
일반적인 분기에서는 if나 switch 등의 조건문을 사용하지만, if나 switch는 비교적 사용할 때 구조가 번잡하기 때문에 값을 반환한다던지 할 때는 삼항 연산자를 통해 if문을 대체한다.
어떠한 값을 받아서 해당 값의 절대값을 출력하는 프로그램을 만들어보자.
#include <stdio.h>
int main(void) {
int num;
scanf("%d", &num);
if (num < 0) num = -num;
printf("%d\n", num);
return;
}
코드를 굉장히 줄이면 if문으로도 위와 같은 코드를 작성할 수 있다. 그러나, if문은 괄호를 사용하는 등의 번거로움이 있기 때문에 가끔 코드를 보면 삼항연산자를 이용한 아래와 같은 코드가 눈에 띄기도 한다.
#include <stdio.h>
int main() {
int num;
scanf("%d", &num);
num = num > 0 ? num : -num;
printf("%d\n", num);
return 0;
}
첫 번째 코드와, 바로 위 코드는 동일한 작업을 한다.
물음표 ( ? ) 왼쪽은 조건식으로 if에서 조건식이 들어가는 부분에 작성되는 녀석을 작성하면 된다. 물음표의 우항에는 조건식에 따라 어떤 값을 넣을지 결정하는 것으로 보면 된다.
콜론( : )을 기준으로 왼쪽은 조건식이 참일 경우, 오른쪽은 조건식이 거짓일 경우 반환되는 값을 작성한다.
참고
728x90
반응형
'DEV > C C++' 카테고리의 다른 글
substr 직접 만들어보기 (0) | 2018.11.14 |
---|---|
배열은 수정 가능한데 포인터는 수정 불가? (0) | 2018.09.25 |
WINAPI - 2018 PU PROJECT (0) | 2018.09.19 |
Cpp 캐스팅 (0) | 2018.06.20 |
Q 폴리곤 그리기 (0) | 2018.06.02 |
Comments