如果在fortran 77中使用算术

问题描述 投票:0回答:1

我对f77中的算术有疑问。如果我正确理解它,应该使用这种方式:

if(integer) st-,st0,st+

并且意味着如果整数<0,则完成st-;如果整数= 0,则完成st0;对于整数> 0,则执行st +。

我有这样的情况:

 IF(number) test=0

我猜对了,如果数字小于0将会执行test = 0语句?

谢谢

fortran fortran77
1个回答
0
投票
您的示例代码是正常的逻辑条件,但条件是使用整数而不是逻辑表达式。某些编译器(Intel和其前身-DEC,Compaq)确实允许将gfortran作为非标准扩展名使用。据我所知,甚至没有-fdec之类的选项。

有关更多信息,请参见Implicit conversion integer <--> logical in Fortran if statement。>>

算术if所做的是使用数字语句标签选择三个分支之一,您不能在算术if后面放置可执行语句。

if(integer) label-,label0,label+

例如,

if (i) 10, 20, 30 10 do something 20 do something else 30 do something else

© www.soinside.com 2019 - 2024. All rights reserved.