楼主:
BanPeeBan (踢å±å±)
2019-05-02 09:29:35最近看到一个程式 感觉是很旧的版本了
用了不少DIMENSION EQUIVALANCE 甚至是
DO 3 I=1,10
3 I = I + 1
这种没有enddo的形式
其中里面的if函数也找不到endif
其中里面的if函数也找不到endif
其中里面的if函数也找不到endif
范例如下
READ (*,*) CODE_NO
IF (CODE_NO .GE. 50) THEN KK=999
DO 3 I=1,10
3 I = I + 1
范例中 if条件成立时
程式是仅多执行KK=999(与IF同行的statement)
抑或是连下方的DO-loop也算在IF里面?
有疑惑+1 有的则是没else却又不是一行写完然后你的问题应该改成if不成立do是否会执行吧不然就算if跟do的状况分开,if没执行do还是会执行啊另外编译器好像do if的end常常会当同一种东西明明就是do没end却回报if出问题……喔喔,原来是因为手机版拆成两行这样我可以回答你这其实可以写成if(逻辑成立)执行a有时候那个then不拔掉编译还不给过当if写成一行时,是可以不用end if的另外,这样当然与下一行的do没关系 这个if只是判断要不要让k输入999而已kk补充一点,学C的朋友跟我是我,do这种行代码写法根本是在整人是“跟我说”……自动选字的锅另外fortran的行代码应用很广,write read 的format格式、 do 循环和goto都有其实还挺好奇哪些用同样行代码会撞到哪些不会猜测write和goto不会撞的可能性最高equivalence不熟,dimension只是宣告成矩阵写法,我也习惯这样写,会比单纯各别宣告成例如a(10:10)还要明显是矩阵integer,dimension(10:10) :: a,b,c这样a,b,c都是10*10的二维矩阵应该说是阵列
作者: espresso1 2019-05-02 18:08:00
block if 的 then 右边不能再放 statement,fortran 77就是这样了,现在的 compiler 应该不给过
我老板就是用这种行代码的写法...第一次看的时候超级崩溃
作者:
blc (Anemos)
2019-06-27 21:13:00if(i)10,20,30
作者:
CGS0 (Mike Chen)
2019-07-08 14:25:00F77 应该就有 ,很多程式语言都有类似的单行精简版 if
作者: erre (erre) 2019-07-13 22:42:00
现在还用福船,谁听到不生气!