1、【编写subroutine】
!======================================
subroutine dy2003310
implicit none
integer::i=2
integer::j
i=i+i
j=2
j=j+j
print *,"***************subroutine***************"
print *,"i:",i
print *,"j:",j
end subroutine dy2003310
2、【编写function】
!======================================
integer function dy2003()
implicit none
integer::i=2
integer::j
i=i+i
j=2
j=j+j
print *,"***************function***************"
print *,"i:",i
print *,"j:",j
dy2003=i
end function dy2003
3、【编写主程序】
implicit none
integer::n
call dy2003310
call dy2003310
n=dy2003()
n=dy2003()
4、【在codeblocks中编译、链接】
5、【测试、运行,结比结果】
方式1:【integer::i=2】
这样初始化的值会被保留
比如在此文中当子程序运行完一次后,i=4
再调用一次,i不再是初始为2,而是使用了i=4,所以第二次调用后i=8
【方式2:】
integer::i
i=2
能够得到正常的结果
fortran的这个特性
让人很无语,很抓狂