Ошибка: ожидалась правая скобка в выражении по адресу (1)

это показывает Ожидается правильная скобка в выражении, хотя я проверял это много раз

do i= 0, m-1
  do j= 0, n-1
k1(i,j)=-0.001*(((y(i,j)/dx)*((0.02651995*pho(i+3,j))-(0.18941314*pho(i+2,j))+(0.79926643*pho(i+1,j))-(0.79926643*pho(i-1,j))+(0.18941314*pho(i-2,j))-(0.02651995*pho(i-3,j))))+((x(i,j)/dy)*((0.02651995*pho(i+3,j))-(0.18941314*pho(i+2,j))+(0.79926643*pho(i+1,j))-(0.79926643*pho(i-1,j))+(0.18941314*pho(i-2,j))-(0.02651995*pho(i-3, j)))))
  enddo
enddo

person user3369095    schedule 01.03.2014    source источник


Ответы (1)


Если ваш вопрос «почему?», то обратите внимание, что Fortran указывает максимальную длину строки (если строка состоит только из символов типа по умолчанию): 72 для исходного кода фиксированной формы и 132 для исходного кода произвольной формы. Вы не говорите, что вы используете, или как расположены строки, но расположение «(1)» в сообщении об ошибке даст хорошее представление о том, является ли это вашей проблемой.

gfortran примет параметр времени компиляции для изменения ограничения длины строки, но для удобочитаемости и переносимости лучше всего разбить строку в пределах ограничения по умолчанию, используя продолжение.

person francescalus    schedule 01.03.2014