질문:
bool에 저장된 값이 보장되나요? 변수는 정수(int)로 변환되면 0 또는 1이 될까요?
답변:
예, 보장됩니다.
이유:
C와 C 프로그래밍 언어 모두 정수로 변환될 때 부울 값의 동작을 구체적으로 정의합니다.
C에서는 C 표준(§4.5 /4) 상태:
"bool 유형의 rvalue는 int 유형의 rvalue로 변환될 수 있으며 false는 0이 되고 true는 1이 됩니다."
C에서 C 표준( §6.3.1.2/1) 상태:
"스칼라 값을 _Bool로 변환할 때 값이 0과 같으면 결과는 0이고, 그렇지 않으면 결과는 1입니다."
_Bool 값이 int로 변환되면 int는 0과 1(§6.3.1.3)을 모두 보유할 수 있으므로 값은 그대로 유지됩니다.
따라서 다음 사실을 신뢰할 수 있습니다. bool 변수는 int로 변환될 때 항상 0 또는 1을 포함합니다.
위 내용은 정수로 변환할 때 bool 변수가 0 또는 1로 변환되는 것이 보장됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!