Array subscripts in C start with 0.
Table 11-7 Passing a One-Dimensional Array
Fortran calls C |
C calls Fortran |
---|---|
integer i, Sum integer a(9) external FixVec ... call FixVec ( a, Sum ) ... ------------------------------ void fixvec_ ( int v[9], int *sum ) { int i; *sum = 0; for ( i = 0; i <= 8; i++ ) *sum = *sum + v[i]; } |
extern void vecref_ ( int[], int * ); ... int i, sum; int v[9] = ... vecref_( v, &sum ); ... ------------------------------ subroutine VecRef( v, total) integer i, total, v(9) total = 0 do i = 1,9 total = total + v(i) end do ... |