Fortran 函數(shù)副程序

2023-12-29 15:32 更新

函數(shù)副程序,這個(gè)稱呼不一定十分準(zhǔn)確,實(shí)際上就是其他編程語(yǔ)言中常用的函數(shù)。在某種程度上,函數(shù)只是子程序的替代,但是對(duì)于 Fortran 來(lái)說(shuō),函數(shù)必須將函數(shù)名作為變量進(jìn)行聲明,并將計(jì)算的結(jié)果賦給這個(gè)函數(shù)名同名變量。一個(gè)完整的例子如下示例 8 所示。

函數(shù)副程序只能返回一個(gè)結(jié)果,而子程序可以返回多個(gè)結(jié)果。所以如果只是用來(lái)計(jì)算某個(gè)公式或者求解某個(gè)結(jié)果,可以優(yōu)先采用函數(shù)副程序。如果需要同時(shí)返回多個(gè)變量,則優(yōu)先采用子程序。
!!! 示例 8
function square(x)
implicit none
real square, x ! 聲明函數(shù)名同名變量
square = x*x ! 將計(jì)算結(jié)果賦給函數(shù)名同名變量
end function square

program ftest1
implicit none
real x, y, square ! 聲明使用的函數(shù)名同名變量
x = 4.0
y = 3.0*square(x+1.0) + 50.5
print *, x, y
end program ftest1

!!! 執(zhí)行結(jié)果
>>> 4.00000000 125.500000

Fortran 中的函數(shù)使用需要嚴(yán)格遵守函數(shù)名同名變量在主程序和函數(shù)中的相同類型聲明,否則就無(wú)法通過(guò)編譯。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)