=! 연산자는 뭔가요?
조회수 7380회
!=
가 아니라 =!
묻는거에요.
심지어 밑의 코드에서 a는 값을 할당하지도 않았는데
왜 false
가 나는 건가요?
소스코드
int main(){
int a;
int b = 3;
if( a =! b) { //false를 return
cout << "a =! b is true!" << endl;
}
else {
cout << "a =! b is false!" << endl;
}
}
결과 : a =! b is false!
1 답변
-
=!
연산자가 아니라=
와!
두개의 연산자가 있는 겁니다. 그냥 헷갈리게 적어 놓은것 뿐이에요.코드를 풀어쓰면
int main(){ int a; int b = 3; a = !b if(a) { //false cout << "a =! b is true!" << endl; } else { cout << "a =! b is false!"; } }
랑 똑같습니다.
a = !b
에서b
가0
이 아니라서 ->b
는 true!b
->!true
->false
a
=false
이렇게 진행 된거죠.
사실, 아주 옛날 옛날엔 5번째 UNIX edition을 쓰던 시절에는 C에는
=!
이 지금의!=
(같지 않음)으로 쓰였습니다. 지금 C에서는 쓰지 않지만요.
댓글 입력