>백엔드 개발 >C#.Net 튜토리얼 >C 언어에서 &&와 &의 차이점은 무엇입니까?

C 언어에서 &&와 &의 차이점은 무엇입니까?

下次还敢
下次还敢원래의
2024-04-13 18:36:44541검색

C 언어에서 &&와 &는 모두 논리 연산자이지만 다음과 같은 차이점이 있습니다. &&는 &보다 우선순위가 높으며 &&는 오른쪽 연관이고 &&는 부울 값을 반환하며 &는 정수 값을 반환합니다. ; && 단락 평가 , & 는 단락 평가를 하지 않습니다.

C 언어에서 &&와 &의 차이점은 무엇입니까?

C 언어에서 &&와 &의 차이점

C 언어에서 &&와 &는 둘 다 부울 값을 연산하는 데 사용되는 논리 연산자입니다. 그러나 이들 사이에는 몇 가지 주요 차이점이 있습니다.

1. 작업 우선 순위

  • &&는 &보다 작업 우선 순위가 높습니다. 이는 &&가 표현식에서 &보다 먼저 실행된다는 의미입니다.

2. 연관성

  • &&는 왼쪽 연관성을 갖고 &는 오른쪽 연관성을 갖습니다. 즉, 여러 개의 && 또는 & 연산자가 표현식에 나타나면 &&는 표현식의 가장 왼쪽 피연산자에서 먼저 작동하고 &는 표현식의 가장 오른쪽 피연산자에서 먼저 계산을 수행합니다.

3. 연산 결과

  • &&의 연산 결과는 부울 값(true 또는 false)입니다.
  • & 연산의 결과는 정수 값(0 또는 1)입니다.

4. 단락 평가

  • &&는 단락 평가 특성을 가지고 있습니다. 즉, 첫 번째 피연산자가 거짓이면 두 번째 피연산자는 평가되지 않고 전체 표현식의 결과도 거짓이 됩니다.
  • &에는 단락 평가 속성이 없습니다. 두 번째 피연산자는 첫 번째 피연산자의 값에 관계없이 평가되며 전체 표현식의 결과는 0 또는 1이 됩니다.

Example

다음 코드 예제는 이 두 연산자의 차이점을 보여줍니다.

int a = 1, b = 0;

printf("&&: %d\n", a && b); // 输出: 0 (假)
printf("& : %d\n", a & b); // 输出: 0 (0)

첫 번째 예제에서 a는 true이지만 b는 false이므로 && 식의 결과는 Fake입니다. 두 번째 예에서는 a가 true이고 b가 false이므로 & 표현식은 0(정수 값)으로 평가됩니다.

위 내용은 C 언어에서 &&와 &의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.