咨询Fortran中.and.、.or.的等效符号表达式及Fortran90运算符变化
Fortran 90逻辑运算符的等效符号替代
当然有!Fortran 90确实引入了和你提到的>替代.gt.类似的逻辑运算符简写,让代码风格更贴近主流编程语言。下面直接给你梳理对应关系:
- 传统的
.and.可以用&&替代 - 传统的
.or.可以用||替代 - 传统的
.not.可以用!替代
这些新运算符和对应的点式运算符功能完全一致,优先级和行为没有任何区别,编译器会以相同的逻辑解析它们。举个实际代码对比的例子更直观:
传统写法
if (temperature .gt. 30 .and. humidity .lt. 60 .or. .not. is_raining) then call start_outdoor_activity() end if
新符号写法
if (temperature > 30 && humidity < 60 || !is_raining) then call start_outdoor_activity() end if
需要注意的是,并不是所有逻辑运算符都有简写:像 .eqv.(逻辑等价)和 .neqv.(逻辑不等价)这两个运算符,Fortran 90及后续标准里并没有提供对应的短符号,仍然需要使用点式写法。
另外,如果你的代码需要兼容Fortran 77或者更老的编译器,那还是建议保留点式运算符;但如果是基于Fortran 90及以后标准开发,这些简写符号完全可以放心使用,能让代码看起来更简洁易读。
内容的提问来源于stack exchange,提问作者user32882
相关产品推荐
相关产品推荐

