-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
살아있는 고렙 유저인지 알아보는 문제 질문입니다.
21.06.21 01:35 작성 조회수 113
0
a는 죽어있고 레벨도 40으로 낮은데 true 를 추출하는 이유가 뭔가요?
bool a = (true == (isAlive == isHighLevel));
이 부분이 제가 생각하기로는 살아있는지와 레벨이 높은지를 비교해서 같은지 확인한 후 그것이 true라면 a 값에 true를 넣는다는 생각으로 짰는데 위의 문법으로는 isAlive와 isHighLevel이 false 라서 true와 같지 않은데 a의 값에 true가 들어가는 이유를 알고 싶습니다.
bool a = ((true == isAlive) == isHighLevel);
괄호를 바꿔서 어느쪽을 먼저 비교하든 괄호를 다 빼든 결과가 똑같이 true가 됩니다.
답변을 작성해보세요.
1
Rookiss
지식공유자2021.06.21
bool a = ((true == isAlive) && isHighLevel);
&&를 해야 AND가 됩니다.
그리고 isALive가 boolean이라면 true ==는 생략을 많이 합니다.
isAlive == isHighLevel 이렇게 하면
(살아있음 여부와 고렙 여부가 일치하는지?)라는 의미가 됩니다.
Z E
질문자2021.06.21
아! 이해 했습니다.
위의 문제를 ==로 짜면 서로 같은지만 비교하므로 true로 같을 때나 서로 다를 때는 상관 없는데 false로 같을 때 문제가 생기는 거군요.
제가 만든 수식이 어떤식으로 동작하는지도 알려주셔서 감사합니다.
답변 1