看板 Fortran 關於我們 聯絡資訊
※ 引述《agody (講不聽)》之銘言: : 如果題目是要算階乘(我不知道題目是啥啦) : 又規定要用函式來用遞迴 : program factor : read(*,*) n : nres=ifn(n) : write(*,*)'n=>',nres : end : RECURSIVE function ifn(n) : if (n .eq. 1) then : ifn=1 : else : ifn=n*ifn(n-1) : end if : return : end : 科科,亂寫的,應該會過吧 我測試跑過了 出現這個結果 應該是說 沒有主程式喔 ooop.f:7: RECURSIVE function ifn(n) 1 2 Unrecognized statement name at (1) and invalid form for assignment or statement-function definition at (2) ooop.f: In program `MAIN__': ooop.f:11: ifn=n*ifn(n-1) ^ Invalid form for IF statement at (^) 所以 應該不是RECURSIVE 這個地方有錯 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.134.140.40
noonee:你用 gfortran嗎 你的compiler不支援 recursive啦 12/04 12:40
noonee:先別看書上怎麼寫 自己好好想一個 12/04 12:46
bluehaerts:應該是FORTRAN90 我猜的 我是用工作站LINUX跑的 12/04 12:49
bluehaerts:囧 連課本範例都過不了 要怎麼自己想QQ 12/04 12:50
noonee:fortran90是規範不是 complier 你下指令的時候指令是啥? 12/04 12:56
noonee:如果是 g77的話 那你就得用 fortran 77的規範寫 12/04 12:57
fragmentwing: 等等 為啥不用先宣告函數型態 04/14 14:50