[問題] 傳入副程式陣列維度不同? 懸賞1000P...
最近在把fortran90改成C
但本身不是學f90,網路上資料能找到的也有限...
最近碰到一個奇怪的問題,
CALL GATEOPEN(QU, HO, INGT(IST2, 1), GT(1, 1, IST2), MDC_GT);
這邊的GT應該是一個三維陣列中取出來的REAL值
但是在GATEOPEN這個subroutine中
SUBROUTINE GATEOPEN( T,F,N,FT,MAXD )
.....
INTEGER, INTENT(IN) :: N,MAXD
REAL(SP), INTENT(IN) :: T,FT(MAXD,2)
...
我實在是看不懂為何這邊會變成FT(MAXD,2)
後面使用也是變成二維陣列的形式
DO I = 1, N
IF( T <= FT(I,1) ) THEN
F = FT(I,2)
RETURN
END IF
END DO
求解...懸賞1000P
感謝各位大神。
--
我的意中人是個蓋世英雄,有一天他會踩著七色的雲彩來娶我
我猜中了前頭,可是我猜不著這結局。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.124.44.60 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Fortran/M.1574677143.A.D89.html
推
11/26 00:55,
5年前
, 1F
11/26 00:55, 1F
這是project在用的軟體的其中一部分,我的任務是轉成C
所以基本上這個Code應該是沒問題
推
11/26 00:57,
5年前
, 2F
11/26 00:57, 2F
→
11/26 00:57,
5年前
, 3F
11/26 00:57, 3F
推
11/26 01:00,
5年前
, 4F
11/26 01:00, 4F
→
11/26 01:00,
5年前
, 5F
11/26 01:00, 5F
→
11/26 01:04,
5年前
, 6F
11/26 01:04, 6F
→
11/26 01:04,
5年前
, 7F
11/26 01:04, 7F
→
11/26 01:05,
5年前
, 8F
11/26 01:05, 8F
我的理解是INGT(IST2, 1)
應該等於C語言的INGT[IST2][0]吧
INGT是一個儲存int的二維陣列
已經在其他地方宣告過了@@
所以進到副程式應該是整數沒錯啊
GT則是一個儲存real的三維陣列,
GT(1, 1, IST2)取出來應該是一個real數,可是進到副程式他怎麼宣告成陣列
推
11/26 01:11,
5年前
, 9F
11/26 01:11, 9F
推
11/26 01:12,
5年前
, 10F
11/26 01:12, 10F
→
11/26 01:13,
5年前
, 11F
11/26 01:13, 11F
→
11/26 01:14,
5年前
, 12F
11/26 01:14, 12F
→
11/26 01:15,
5年前
, 13F
11/26 01:15, 13F
→
11/26 01:15,
5年前
, 14F
11/26 01:15, 14F
→
11/26 01:21,
5年前
, 15F
11/26 01:21, 15F
感謝大大
推
11/26 14:05,
5年前
, 16F
11/26 14:05, 16F
→
11/26 14:05,
5年前
, 17F
11/26 14:05, 17F
→
11/26 14:05,
5年前
, 18F
11/26 14:05, 18F
→
11/26 14:05,
5年前
, 19F
11/26 14:05, 19F
→
11/26 14:05,
5年前
, 20F
11/26 14:05, 20F
好的我研究一下,看起來可能是這個問題
→
11/26 15:15,
5年前
, 21F
11/26 15:15, 21F
→
11/26 15:16,
5年前
, 22F
11/26 15:16, 22F
→
11/26 15:55,
5年前
, 23F
11/26 15:55, 23F
原來如此,感謝大大
※ 編輯: silverair (220.141.70.95 臺灣), 11/26/2019 22:49:06
推
11/30 14:44,
5年前
, 24F
11/30 14:44, 24F
→
11/30 14:44,
5年前
, 25F
11/30 14:44, 25F
→
12/01 22:57,
5年前
, 26F
12/01 22:57, 26F
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章