我已经通过了Fortran指南并尝试了示例程序,查找了错误的网络,但似乎没有任何帮助。Fortran“错误:WRITE语句中的预期表达式”
我的程序如下:
program TYPE_CHECK
character(30), dimension(10) :: buff
integer, dimension(10) :: x
integer :: i
do i=1,10
x(i) = i
enddo
write(*, "(I3)") (x(j), j=1,10)
do j=1,10
write(buff(j), *)(x(j)),
* 'hi '
enddo
do j=1,10
write(*, 776) (buff(j))
776 format(' NO OF ',A20, '=')
enddo
end program TYPE_CHECK
上面应该给输出如下:
1
2
3
4
5
6
7
8
9
10
NO OF 1 hi =
NO OF 2 hi =
NO OF 3 hi =
NO OF 4 hi =
NO OF 5 hi =
NO OF 6 hi =
NO OF 7 hi =
NO OF 8 hi =
NO OF 9 hi =
NO OF 10 hi =
而是给出了以下错误:
myfoo2.F:12.30:
write(buff(j), *)(x(j)),
1
Error: Expected expression in WRITE statement at (1)
myfoo2.F:13.7:
* 'hi '
1
Error: Invalid character in name at (1)
请你告诉我哪里出了问题。谢谢!
好更换“HI”,它应该是固定的形式。我尝试在第6列中放置星号字符,并在第7-72列中编写其余代码。它仍然继续给出相同的错误! – Dev
将星号用于评估表达式,但对WRITE语句不起作用。 – Dev
不要编写固定源代码,它是2014年。至少,它是2014年,我坐在哪里,和你在哪一年? –