C에서의 부울-정수 변환
C 프로그래밍 언어에서는 서로 다른 유형의 데이터 간 변환이 필요한 경우가 많습니다. 일반적인 변환 중 하나는 부울 값과 정수 간의 변환입니다. 질문이 생깁니다: 부울 값 true가 모든 C 컴파일러에서 정수 1과 동일하다고 가정할 수 있습니까?
대답
예, 가정해도 안전합니다. C 컴파일러의 경우 that (bool)true == (int)1입니다. 그 이유는 다음과 같습니다.
따라서 true == 1 표현식은 사용 중인 C 컴파일러에 관계없이 true로 평가됩니다. 이 동작은 "소스 유형이 bool이면... true가 1로 변환됩니다."라고 명시하는 C 표준(4.7 [conv.integral])에 지정되어 있습니다.
위 내용은 C 부울-정수 변환에서 'true'는 항상 '1'과 동일합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!