我在Fortran語言編寫的這個非常簡單的代碼時:段錯誤調用函數與常量參數
program su
implicit none
real ran3
write(*,*) ran3(0)
end program su
real*8 function ran3(iseed)
implicit none
integer iseed
iseed=iseed*153941+1
ran3=float(iseed)*2.328+0.5
end function ran3
我沒有問題,在編譯,但是當我執行的代碼,我得到這個消息:
Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
Backtrace for this error:
#0 0xB76BAC8B
#1 0xB76BB2DC
#2 0xB77BA3FF
#3 0x8048653 in ran3_
#4 0x80486B3 in MAIN__ at der.f90:?
Segmentation fault (core dumped)
請問爲什麼,我該如何解決?
據我瞭解,沒有必要告訴ran3'的'的聲明指的是功能的編譯器。它沒有'dimension'屬性,所以處理器知道它不是一個數組。從參考'ran3(0)'的形式,處理器可以推斷出它是一個函數調用。 – eriktous 2013-05-09 11:21:04
我真的很感謝你的幫助謝謝 – 2013-05-09 15:03:27