| 主函数和function写在同一文件中,参数类型和数量都是错的,但编译还是通过了,结果也算出来了。 
 
 [Fortran] syntaxhighlighter_viewsource syntaxhighlighter_copycode program main
    implicit none
    integer:: a=0, b=100
    integer:: func
    print*, func(a,b)
end
function func(arg)
    implicit none
    real,intent(in)::arg
    integer:: func
    func = arg + 1
end
 编译器只是给出了警告,但还是能编译成功的。
 我知道这是隐式接口的问题,但我不清楚具体发生了什么。请问:
 1. 将 function 写在 program 的前面和写在 program 的后面有什么区别?
 2. 将 function 和 program 写在不同的文件中编译和写在同一文件中编译有什么区别?
 3. Fortran 的编译逻辑和 C 语言有什么不同吗?
 
 -- gcc version 8.1.0
 
 |