> 백엔드 개발 > C++ > C의 연쇄 비교 '(4 > y > 1)'은 항상 False로 평가됩니까?

C의 연쇄 비교 '(4 > y > 1)'은 항상 False로 평가됩니까?

Linda Hamilton
풀어 주다: 2024-12-19 01:11:09
원래의
449명이 탐색했습니다.

Does C  's Chained Comparison y > 1)" 항상 False로 평가되나요? " /> y > 1)" 항상 False로 평가하시겠습니까? " />

C에서 연결된 논리 연산자의 유효성 평가

"(4 > y > 1)" 문은 유효성과 평가에 대한 의문을 제기합니다. C에서 이러한 측면을 자세히 살펴보고 C에서 명령문이 어떻게 작동하는지 알아봅시다. .

식 평가

주어진 명령문은 논리 연산자로 나눌 수 있습니다.

(4 > y) > 1
로그인 후 복사

C는 연결된 논리 연산자를 왼쪽에서 왼쪽으로 평가합니다. 따라서 평가는 다음과 같이 진행됩니다.

  1. 비교 4 및 y: y가 4보다 작으면 결과는 1(true)이고, 그렇지 않으면 0(false)입니다.
  2. 1단계와 1단계의 결과를 비교하세요. 첫 번째 비교 결과(1 또는 0)는 1보다 클 수 없으므로 이 비교 결과는 항상 false입니다. (0).

의미:

"(4 > y > 1)" 표현식은 유효하지만 다음으로 인해 항상 false로 평가됩니다. 논리적 흐름 설명

예외:

이 동작의 한 가지 예외는 y가 사용자 정의 클래스의 객체이고 ">" 연산자가 오버로드되어 다른 결과를 표시하는 경우입니다. 행동. 이러한 시나리오에서는 비교 결과가 일반적인 숫자 비교 규칙에서 벗어날 수 있습니다.

대체 설명:

더 명확한 논리적 의미를 제공하려면 다시 작성하는 것이 좋습니다. 다음과 같은 표현:

(4 > y && y > 1)
로그인 후 복사

이 공식은 원래 진술의 모호성을 피하고 정확하게 원하는 논리적 순서로 조건을 평가합니다.

위 내용은 C의 연쇄 비교 '(4 > y > 1)'은 항상 False로 평가됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿