2017-02-20 2 views
-4

내 C++ 프로그래밍 교수는 학생들에게 부울 대수에 대한 연습 문제를 제공했습니다.다음 표현식의 값은 무엇입니까?

두 개가 다음과 같습니다.
1) true || 두 마찬가지
2)에 해당 & & 거짓

가능한 해답은 다음과 같다 :
a)에 해당
b) 오류
c) 1
d) -1

무엇이며 이 운동을 평가하는 올바른 방법, 그리고 아마도 같은 유형의 다른 운동?

+0

'True || 부울 리터럴은 소문자 여야하기 때문에 True는 유효한 코드 AFAIK가 아닙니다. 어떤 상황에서는 '+ 1'값을 true로 처리 할 수 ​​있습니다. –

+3

'참'이란 무엇입니까? 그것은 유효한 C++ 식별자가 아닙니다. –

+1

정확히 'True'는 무엇입니까? 그것은 대상입니까? 부울 값을 의미하는 경우, 작은 경우에는 'true'여야합니다. –

답변

0

True은 C++에서 유효한 키워드가 아닙니다. 그러나 true & false은 C++의 키워드입니다.

부울 변수는 true (1)와 false (0)의 두 가지 값만 가질 수있는 변수입니다. 그래서 true || true은 1로 평가됩니다. 라이브 데모보기 here.

+0

'bool'은'int'처럼 C++에서 적절한 타입이 아닌가요? 'true'는'1'과 같지 않지만'true == 1'을하면'true'가'int'로 캐스팅되어'1'이됩니다. 그래서'사실 || true '는'1 '로 평가되지 않습니다. 부울 값 'true'로 평가됩니다. 데모는 기본적으로 C++ 스트림의 [boolalpha] (http://www.cplusplus.com/reference/ios/boolalpha/) 플래그가 설정되지 않았기 때문에 작동합니다. 즉, 스트림에'true '를 쓰면 결과가'' 1 "은 아니고"사실 "은 아닙니다. – Bernard

+0

사실, 당신의 링크는'boolalpha'에 대해 언급하고 있습니다. true '는'1 '로 평가되거나,'true '는 그 자체로'1 '로 평가됩니다. 링크가 귀하의 답변을 지원하지 않습니다. – Bernard

관련 문제