C 제어 삼항연산 - sonkoni/Koni-Wiki GitHub Wiki
조건 ? 참구문 : 거짓구문;
짧은 조건에 대한 짧은 참/거짓 처리를 위해 사용한다. 조건이 복잡하거나, 처리가 긴 구문에서는 사용하지 않는다.
#include <stdio.h>
int main(int argc, char *argv[]) {
int x = 0;
int y = 1;
x ? printf("1: 참\n") : printf("1: 거짓\n");
(!x) ? printf("2: 참\n") : printf("2: 거짓\n");
(x + y) ? printf("3: 참\n") : printf("3: 거짓\n");
// 삼항연산 결과를 변수에 저장할 수도 있다.
int z = y ? 111 : 100;
printf("z: %d\n", z);
// 삼항연산 결과를 바로 쓸 수도 있다.
printf("=> %d\n", (!y) ? 555 : 333);
return 0;
}
// 1: 거짓
// 2: 참
// 3: 참
// z: 111
// => 333#include <stdio.h>
int main(int argc, char *argv[]) {
int x = 0;
int y = 1;
printf("===>: %s\n", x && y ? "참" : "거짓");
printf("~~~>: %s\n", !x && y ? "참" : "거짓");
printf("--->: %s\n", x || y ? "참" : "거짓");
return 0;
}
// ===>: 거짓
// --->: 참