W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
如果主程序想要用數(shù)組變量或數(shù)組變量的某個(gè)位置的值為調(diào)用的子程序賦值,F(xiàn)ortran 也是完全支持的。如下所示,第一行是用數(shù)組變量初始化子程序參數(shù),第二行是用數(shù)組變量 a 中編號(hào)為 1 的元素初始化子程序參數(shù)。
call sub(a)
call sub(a(1))
上面第一行調(diào)用方式對(duì)應(yīng)的主程序和子程序可以類(lèi)似于下面的示例 5。主程序和子程序中分別將 a 和 x 都定義為長(zhǎng)度為 10 的一維數(shù)組,并在子程序中使用循環(huán)的方式依次為數(shù)組 x 的每個(gè)元素賦值。最后,賦好值的數(shù)組 x 也會(huì)返回給主程序。從執(zhí)行結(jié)果看到,輸出結(jié)果為期待的 a(3) 值。
!!! 示例 5
program stest5
implicit none
real a(10)
call sub(a)
print *, a(3)
end program stest5
subroutine sub(x)
implicit none
real x(10)
integer i
do i = 1, 10
x(i) = i
enddo
end subroutine sub
!!! 執(zhí)行結(jié)果
>>> 3.00000000
如果我們?cè)谡{(diào)用時(shí)寫(xiě)成了 ?call sub(a(1))
?,那會(huì)怎么樣呢?實(shí)際上還是會(huì)得到一樣的結(jié)果。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: