!(역)
<-- 얘는 참을 거짓으로 // 거짓을 참으로 만듬 (뭐라고 불러야할지 모르겠음)
&&(곱)
<-- and
||(합)
<-- or
참은 0이 아닌 모든 수 (보통은 1로 대답함)
(1을 넣든 10을 넣든 참이지만, 컴퓨터가 답으로 내놓는 참은 1임)
거짓은 당연히 0
bool IsTrue = 123;
이렇게 주면? <-- 얘는 어차피 1이 됨, size는 1bytebool test_true = 99;
printf("%d\n", test_true); // 이러면 1이 출력됨
int truefalse = false;
truefalse = !truefalse;
printf("%d", truefalse); // 이러면 1이 출력됨
int test = 100;하고 !으로 뒤집으면 0이 나옴, -100이 안나옴
값 자체를 0을 원점으로 반전시킨다는 뜻이 아니라 boolean 값을 반전시킨다는 뜻이기 때문
int iTrue = 123 && 456;
printf("%d", iTrue); // 이러면 1이 출력됨
만약에 어떠한 의미있는 값, hp 999, attack 10 이런 수가 있을때
이 값을 훼손시키지 않으면서 동시에 조건문에 써야하면?
굳이 고민할 필요없이 그냥 저 값을 True, False로 사용할 수 있음 (0만 아니면 True니까)
?:
int a = left < right ? left : right
/* 옆에 있는 식이 true면? a = left
false면 a = right*/