programing

C의 이중 부정 : 0/1을 반환하는 것이 보장됩니까?

muds 2023. 7. 25. 21:23
반응형

C의 이중 부정 : 0/1을 반환하는 것이 보장됩니까?

아이즈!!(x)0/1을 반환하도록 표준에 의해 보장됩니까?

bool 유형이 정의된 c++에 대해 묻는 것이 아닙니다.

예, C99에서 § 6.5.3.3/4를 참조하십시오.

논리적 음수 연산자 !의 결과는 피연산자 값이 0과 동일하면 0이고 피연산자 값이 0과 동일하면 1입니다.결과에 int 형식이 있습니다.식!E는 (0==E)와 같습니다.

그렇게!x그리고.!!y0 또는 1만 산출할 수 있습니다.ints.

다른 연산자의 경우 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

반응형