Почему прямой доступ ввода-вывода работает неправильно с Intel Visual Fortran

Эта программа

  program test

  real a(10)

  open(1, file='f1',access='direct', recl=20)
  do i=1, 10
      a(i) = i-1
  end do
  write(1, rec=1)(a(i),i=1,5)
  write(1, rec=2)(a(i),i=6,10)
  close(1)
  open(1, file='f1',access='direct',recl=8)
  read(1, rec=4)(a(i),i =5,9,4)
  print*,a
  end

некорректно работает в Visual Fortran (неверно):

  0.0000000E+00   1.000000       2.000000       3.000000       9.000000
   5.000000       6.000000       7.000000      0.0000000E+00   9.000000

Результат в WATCOM (правильно):

  0.0000000   1.0000000       2.0000000       3.0000000       6.0000000
  5.0000000   6.0000000       7.0000000       7.0000000       9.0000000

Зачем?

Ответы на вопрос(2)

Ваш ответ на вопрос