반응형
관계 연산자는 조건문에서 많이 사용됩니다. 그렇기 때문에 잘 알아두시면 도움이 될 것으로 보입니다.
관계 연산자
관계 연산자는 2개의 값을 비교하여 비교 결과에 따라 참(true) 또는 거짓(false)을 반환하는 연산자입니다.
- 등호(==): 두 값이 같으면 참을 반환합니다.
- 부등호(!=): 두 값이 서로 다르면 참을 반환합니다.
- 크다(>): 왼쪽 변수가 오른쪽 변수보다 크면 참을 반환합니다.
- 작다(<): 왼쪽 변수가 오른쪽 변수보다 작으면 참을 반환합니다.
- 크거나 같다(>=): 왼쪽 변수가 오른쪽 변수보다 크거나 같으면 참을 반환합니다.
- 작거나 같다(<=): 왼쪽 변수가 오른쪽 변수보다 작거나 같으면 참을 반환합니다.
관계 연산자 예시
관계 예시자 예시는 다음과 같습니다. 결과를 미리 예측하고 아래 결과를 확인해 봅시다.
#include <stdio.h>
int main() {
int a = 0;
int b = 0;
int c = 1;
int d = 2;
int e = 3;
printf("a == b => %d\n", a == b);
printf("a != c => %d\n", a != c);
printf("a > d => %d\n", a > d);
printf("a < e => %d\n", a < e);
printf("a >= b => %d\n", a <= b);
printf("a <= c => %d\n", a <= c);
return 0;
}
결과는 다음과 같습니다.
a == b => 1
a != c => 1
a > d => 0
a < e => 1
a >= b => 1
a <= c => 1
관계 연산자 주의사항
관계 연산자는 어려울 부분이 없지만, 실수하기 쉬운 부분이 있습니다. 바로 ==와 =를 실수로 바꿔 쓰는 경우입니다.
예를 들면 아래와 같은 코드를 짜려고 했습니다.
#include <stdio.h>
int main() {
int a = 0;
if (a == 0) {
printf("a is 0\n");
}
return 0;
}
a가 0이랑 같은지 확인하고 그에 따라서 a is 0을 출력하고자 했습니다. 하지만 실수로 아래와 같이 코드를 짜면 전혀 다른 결과가 나옵니다.
#include <stdio.h>
int main() {
int a = 0;
if (a = 0) {
printf("a is 0\n");
}
return 0;
}
이 경우에는 아무 것도 출력하지 않습니다. 바로 a라는 변수에 0을 대입하는 식으로 들어가서 a가 0이기 때문에 조건식이 false가 되기 때문입니다. 따라서 ==를 =로 잘못 작성하는 실수를 하지 않으시길 바랍니다.
마무리
관계 연산자는 조건문에 의해서 많이 사용되는 연산자입니다. 주의사항을 잊지 마시고 사용하시길 바랍니다.
반응형
'개발 > C, C++' 카테고리의 다른 글
[C/C++] 비트 연산자 (0) | 2023.09.11 |
---|---|
[C/C++] 논리 연산자 (0) | 2023.09.09 |
[C/C++] 증감 연산자(++, --) (0) | 2023.09.07 |
[C/C++] 대입 연산자 (0) | 2023.09.06 |
[C/C++] 산술 연산자 (0) | 2023.09.05 |