인프런 커뮤니티 질문&답변
22분 코드 질문 (&, && 관련)
작성
·
378
1
if ((items_flag & opt2) && !(items_flag & opt1))
에서 &&는 논리연산자이므로
(items_flag & opt2), !(items_flag & opt1)
두항 모두 0000 0000이 아니기만 하면 true로 동작하는건가요?
미리 답변 감사드립니다.
답변 1
2
안녕하세요, 답변 도우미 Soobak 입니다.
네, 말씀하신 내용이 맞습니다.C++ 언어에서는 0 을 false 로, 0 이 아닌 값을 true 로 간주합니다.
따라서,(items_flag & opt2) 와 !(items_flag & opt1) 의 결과가 모두 0이 아니어야 if() 조건문안의 전체 식이 참이 됩니다.






친절한 답변 감사합니다 : ) ~