C의 이중 부정 : 0/1을 반환하는 것이 보장됩니까?
아이즈!!(x)
0/1을 반환하도록 표준에 의해 보장됩니까?
bool 유형이 정의된 c++에 대해 묻는 것이 아닙니다.
예, C99에서 § 6.5.3.3/4를 참조하십시오.
논리적 음수 연산자 !의 결과는 피연산자 값이 0과 동일하면 0이고 피연산자 값이 0과 동일하면 1입니다.결과에 int 형식이 있습니다.식!E는 (0==E)와 같습니다.
그렇게!x
그리고.!!y
0 또는 1만 산출할 수 있습니다.int
s.
다른 연산자의 경우 C99에서 >, <, !, &&, || 또는 ==의 "참" 결과가 정의되었습니까?를 참조하십시오.
이거 진짜 댓글인데 너무 길어요.
당신의 질문에 답할 수 있는 기준을 찾다가 매우 기괴한 문서를 발견했습니다.새로운 C 표준: 경제 및 문화 해설.그리고 그들은 학계가 자금이 부족하다고 말합니다.(여기 전체 2083페이지 10.5)MB PDF.이전 링크는 이중 부정에 대한 섹션일 뿐입니다.)
이중 부정의 주제에 대해 다음과 같이 말할 수 있습니다.
이중 부정은 영어에서 긍정적인 문장으로 해석되는 경우가 많습니다(예: "C 소스에서 이중 부정이 발생하는 것은 알려져 있지 않습니다").C에 적용되는 것과 동일한 의미론.그러나 일부 언어(예: 스페인어)에서는 이중 부정이 문장을 더 부정적으로 만드는 것으로 해석됩니다. (이 사용법은 일상적인 영어 회화에서 발생하지만, "아직 아무것도 보지 못했습니다."와 같은 경우는 드물고 사회적으로 눈살을 찌푸리게 합니다.
저는 이것이 당신의 진짜 질문에 대답하는 데 아무런 도움이 되지 않는다는 것을 알고 저자가 기뻐할 것이라고 믿습니다(어느 대답이 예스인지).
언급URL : https://stackoverflow.com/questions/8617090/double-negation-in-c-is-it-guaranteed-to-return-0-1
'programing' 카테고리의 다른 글
열을 Oracle db의 동일한 테이블 내의 다른 열로 복사합니다.어떤 데이터가 어디에 저장되는지 지정해야 합니까? (0) | 2023.07.25 |
---|---|
PowerShell에서 "<" 입력 리디렉션이 구현되지 않는 이유는 무엇입니까? (0) | 2023.07.25 |
사용자 지정 파이프 공급자 없음 - 각도 4 (0) | 2023.07.25 |
jQuery를 사용하여 첫 번째 "n"개 항목 선택 (0) | 2023.07.25 |
산점도:산란을 위한 lib 색상 막대 (0) | 2023.07.25 |