作者BanPeeBan (踢屁屁)
看板Fortran
标题[问题] 没有endif的版本
时间Thu May 2 09:29:35 2019
最近看到一个程式 感觉是很旧的版本了
用了不少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里面?
-----
Sent from JPTT on my Asus ASUS_Z012DA.
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 180.217.206.42
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Fortran/M.1556760577.A.9CE.html
1F:推 fragmentwing: 有疑惑+1 有的则是没else却又不是一行写完 05/02 09:51
2F:→ fragmentwing: 然後你的问题应该改成if不成立do是否会执行吧 05/02 09:53
3F:→ fragmentwing: 不然就算if跟do的状况分开,if没执行do还是会执行啊 05/02 09:53
4F:→ fragmentwing: 另外编译器好像do if的end常常会当同一种东西 05/02 09:53
5F:→ fragmentwing: 明明就是do没end却回报if出问题…… 05/02 09:54
6F:→ fragmentwing: 喔喔,原来是因为手机版拆成两行 05/02 09:55
7F:→ fragmentwing: 这样我可以回答你 05/02 09:55
8F:→ fragmentwing: 这其实可以写成 05/02 09:56
9F:→ fragmentwing: if(逻辑成立)执行a 05/02 09:56
10F:→ fragmentwing: 有时候那个then不拔掉编译还不给过 05/02 09:57
11F:→ fragmentwing: 当if写成一行时,是可以不用end if的 05/02 09:59
12F:→ fragmentwing: 另外,这样当然与下一行的do没关系 这个if只是判断 05/02 09:59
13F:→ fragmentwing: 要不要让k输入999而已 05/02 09:59
14F:→ fragmentwing: kk 05/02 09:59
15F:推 fragmentwing: 补充一点,学C的朋友跟我是我,do这种行代码写法根 05/02 10:13
16F:→ fragmentwing: 本是在整人 05/02 10:13
17F:→ fragmentwing: 是“跟我说”……自动选字的锅 05/02 10:14
18F:→ fragmentwing: 另外fortran的行代码应用很广,write read 的format 05/02 10:16
19F:→ fragmentwing: 格式、 do 回圈和goto都有 05/02 10:16
20F:→ fragmentwing: 其实还挺好奇哪些用同样行代码会撞到哪些不会 05/02 10:16
21F:→ fragmentwing: 猜测write和goto不会撞的可能性最高 05/02 10:16
22F:→ fragmentwing: equivalence不熟,dimension只是宣告成矩阵写法,我 05/02 10:21
23F:→ fragmentwing: 也习惯这样写,会比单纯各别宣告成例如a(10:10)还要 05/02 10:21
24F:→ fragmentwing: 明显是矩阵 05/02 10:21
25F:→ fragmentwing: integer,dimension(10:10) :: a,b,c 05/02 10:21
26F:→ fragmentwing: 这样a,b,c都是10*10的二维矩阵 05/02 10:21
27F:→ fragmentwing: 应该说是阵列 05/02 10:22
28F:推 espresso1: block if 的 then 右边不能再放 statement,fortran 77 05/02 18:08
29F:→ espresso1: 就是这样了,现在的 compiler 应该不给过 05/02 18:08
30F:推 special1990: 我老板就是用这种行代码的写法...第一次看的时候超级 06/15 11:16
31F:→ special1990: 崩溃 06/15 11:16
32F:→ blc: if(i)10,20,30 06/27 21:13
33F:推 CGS0: F77 应该就有 ,很多程式语言都有类似的单行精简版 if 07/08 14:25
34F:→ erre: 现在还用福船,谁听到不生气! 07/13 22:42