PROGRAM mlp3 implicit none INTERFACE SUBROUTINE p(a,i,j) BIND(C,NAME='p ' ) USE, INTRINSIC :: iso_c_binding , ONLY : c_float , c_int REAL (c_float), dimension(2,3) :: a INTEGER (c_int), value :: i , j END SUBROUTINE p END INTERFACE ! Declare a to be dimensioned 2 ,3 to match C declaration ! of 3 ,2 REAL, dimension(2,3) :: a = 0.0 !integer:: i = 1, j = 3 integer:: i,j ! print*,'calling C function p with i = ',i,' j= ',j ! CALL p(a, i ,j) call p(a, 1, 3) WRITE ( 6 , ' ( 1x , dc , f9.1 ) ' ) a (1,3) END PROGRAM mlp3