fortran语言中 call一个子例行子程序,这个子程序的哑元表的第一项是*100,这个*100是什么意思?

fortran语言中 call一个子例行子程序,这个子程序的哑元表的第一项是*100,这个*100是什么意思?,第1张

这是带转折的 return,相关内容较多。

简单概述:

call pim( *100

语句A

100 语句B

subroutine pim( * .... )

if 条件

return

else

return 1

end if

end subrouinte pim

pim 子程序中,虚参有一个 *,代表return后的语数掘搏句。

当 pim 条件成立时,return,回到主程序,执行语句A

当 pim 条件不成立时,return 1 ,返回主程序后,跳转到100语句执行,散枝即直接执行语句B。

具体细节,可参考彭薯祥国伦的《Fortran95程序设计》,第213页。

!一个求数组最大值或最小值的程序

program main

implicit none

integer::n,v,p,a(3,3)

write(*,*) '按行输入数组元素,元素间羡启以空格分隔,输入完一行后回车'

do n=1,3

read(*,*) a(n,:)

enddo

write(*,*) '查询最大值输入0,查咐培询兄简如最小值输入1'

read(*,*) p

if(p==0) then

call MatMax(a,v)

else

call MatMin(a,v)

endif

write(*,*) '查询的值为',v

end

subroutine Matmax(m,max)

implicit none

integer::m(3,3),max

max=maxval(m)

end subroutine

subroutine MatMin(m,min)

implicit none

integer::m(3,3),min

min=minval(m)

end subroutine


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12416491.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存