문제

Visual Basic 6.0(VB6)의 연산자 우선 순위는 무엇입니까?

특히 논리 연산자의 경우.

도움이 되었습니까?

해결책

산술 연산 우선 순위

  1. ^
  2. - (단항 부정)
  3. *, /
  4. \
  5. Mod
  6. +, - (이진 덧셈/뺄셈)
  7. &

비교 연산 우선순위

  1. =
  2. <>
  3. <
  4. >
  5. <=
  6. >=
  7. Like, Is

논리 연산 우선 순위

  1. Not
  2. And
  3. Or
  4. Xor
  5. Eqv
  6. Imp

원천: Sams가 24시간 안에 Visual Basic 6 배우기 — 부록 A:연산자 우선순위

다른 팁

디버거에 있는지 여부에 따라 다릅니다. 정말. 글쎄요.

물론 괄호가 먼저 옵니다.그런 다음 산술(+,-,*,/ 등)을 수행합니다.그런 다음 비교(>, <, = 등)를 수행합니다.그런 다음 논리 연산자.트릭은 주어진 우선 순위 수준 내에서 실행 순서가 정의되지 않았다는 것입니다.다음 표현식이 주어지면:

If A < B And B < C Then

당신은 보장됩니다 < 불평등 연산자는 모두 논리 연산자보다 먼저 평가됩니다. And 비교.그러나 어떤 부등식 비교가 먼저 실행될지는 보장할 수 없습니다.

IIRC의 경우 디버거는 왼쪽에서 오른쪽으로 실행되지만 컴파일된 애플리케이션은 오른쪽에서 왼쪽으로 실행됩니다. 나는 그것들을 거꾸로 가질 수 있지만(오랜 시간이 걸렸습니다) 중요한 것은 그것들이 다르다는 것입니다.실제 우선순위는 변경되지 않지만 실행 순서는 변경될 수 있습니다.

괄호를 사용하세요


편집하다:이것이 새로운 코드에 대한 나의 조언입니다!하지만 오스카는 다른 사람의 코드를 읽고 있으므로 어떻게든 알아내야 합니다.VB6 매뉴얼 주제를 제안합니다 연산자 우선순위.안타깝게도 이 주제는 이 주제에 포함되지 않은 것 같습니다. MSDN 온라인 VB6 매뉴얼, 이므로 여기에 논리 연산자 정보를 붙여넣겠습니다.VB6 도움말(MSDN 라이브러리)을 설치했다면 컴퓨터에 해당 도움말이 있을 것입니다.

논리 연산자는 다음 우선 순위에 따라 평가됩니다.

Not   
And   
Or   
Xor   
Eqv   
Imp   

이 항목에서는 비교 및 ​​산술 연산자의 우선 순위도 설명합니다.

일단 우선 순위를 파악한 후에는 코드를 편집하지 말아야 할 타당한 이유가 없는 한 괄호 안에 넣을 것을 제안합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top