「関数」という言葉の意味は、C と Fortran では異なります。 状況によって、どちらの意味で解釈するかが重要です。
Fortran では、関数とは値を返すものであり、値を返さないものはサブルーチンといいます。
Fortran ルーチンから C 関数を呼び出す場合
値を返す C の関数は、Fortran から関数として呼び出します。
値を返さない C の関数は、Fortran からサブルーチンとして呼び出します。
C 関数から Fortran 副プログラムを呼び出す場合
Fortran 副プログラムが関数の場合は、C から、対応するデータ型を返す関数として呼び出します。
Fortran 副プログラムがサブルーチンの場合は、C から int (これは Fortran の INTEGER*4 に対応する) または void を返す関数として呼び出します。Fortran のサブルーチンが選択戻りをする場合は 1 つの値が戻されます。Fortran のサブルーチンが選択戻りをする場合は 1 つの値が戻されます。 この場合、RETURN 文にある式の値です。RETURN 文に式がない場合、または SUBROUTINE 文で選択戻りが 宣言されている場合、ゼロが戻されます。