0
왜 이것이 false로 평가되는지 이해할 수 없습니다.포트란 논리 비교
A = .false. B = .true.
(A .eqv. .true. 또는 .B .eqv...).이 나에게 .false를 제공합니다.
내 조건문을 만들기 위해 보조 분석을 추가해야합니다. 아무도 나에게 이것을 설명 할 수 있 었는가? 많은 감사합니다!
왜 이것이 false로 평가되는지 이해할 수 없습니다.포트란 논리 비교
A = .false. B = .true.
(A .eqv. .true. 또는 .B .eqv...).이 나에게 .false를 제공합니다.
내 조건문을 만들기 위해 보조 분석을 추가해야합니다. 아무도 나에게 이것을 설명 할 수 있 었는가? 많은 감사합니다!
나는 그것이 작동 순서라고 생각한다. 내가 생각 .or.
그래서 당신의 문하지만,
((A .eqv. (.true. .or. B)) .eqv. .true.)
((A .eqv. .true. ) .eqv. .true.)
( .false. .eqv. .true.)
.false.
확실하지에 해당 .eqv.
에 비해 작업의 고차가있다.
어느 쪽이든, 그것은 괄호 의도 위해 강제로 쉽게 :
이((A .eqv. .true.) .or. (B .eqv. .true.))
(물론, 귀하의 예제가 (A .or. B)
로 응축 될 수 있지만 그 지점이 아니었다 추측;))
답안에서 좀 더 확실해질 수 있습니다. 정확합니다. 연산자 우선 순위에 대해서는 Fortran 2008의 표 7.1을 참조하십시오. – francescalus
선언 등을 보지 않고서는'A.qq..rue.'를'A'로 대체 할 수 있다고 가정하지는 않습니다 (https://stackoverflow.com/a/29034913). – francescalus