Fortran 95缺少表达式错误
当我编译代码时,我在写入行收到一条无法修复的错误消息 编译错误:错误573-缺少表达式Fortran 95缺少表达式错误,fortran,gfortran,Fortran,Gfortran,当我编译代码时,我在写入行收到一条无法修复的错误消息 编译错误:错误573-缺少表达式 如前所述,输出项列表前不应有逗号。你只需要 300 do i=1,counter open(1,file='Pcow_pd.txt') write(1,*),Sw_pd(i), Pcow_pd(i) open(2,file='Krw_pd.txt') write(2,*),Sw_pd(i), Krw_pd(i) open(3,file='Kro_pd.txt') write(3,*),Sw_pd
如前所述,输出项列表前不应有逗号。你只需要
300 do i=1,counter
open(1,file='Pcow_pd.txt')
write(1,*),Sw_pd(i), Pcow_pd(i)
open(2,file='Krw_pd.txt')
write(2,*),Sw_pd(i), Krw_pd(i)
open(3,file='Kro_pd.txt')
write(3,*),Sw_pd(i), Kro_pd(i)
print*, counter
end do
print *,"filled =",filled
等等
后一行
write(1,*) Sw_pd(i), Pcow_pd(i)
如果计数器前面的逗号是绝对必要的,可能会在书写时增加一些混乱。这可能是由于read
的使用方式而增加的:有两种形式:
print*, counter
第一个示例没有明确的unit语句,这意味着与第二个示例中的*
相同的单元,并且需要逗号。第二个不能有逗号
记住输出列表是否首先有逗号的一种简单方法:如果格式是孤立的,则使用逗号;如果指定了单位,则不要。这只是一个打字错误,在
write(*,*)
之后不应有逗号。投票结束只是一个简单的打字错误。我确信编译器打印的比你显示的要多,请总是将完整的错误信息复制到你的问题中。我这样做,但当我运行时,只需输出Sw_pd(I),Krw_pd(I)。你应该在循环之前打开文件。是的,我这样做并修复了错误,但当我运行Pcow_pd.txt时,其他txt文件是空的。@MaykPire对于不同的问题,这是不同的问题。打开一个新问题,显示完整的代码、输入文件和所有其他详细信息。对单位使用不同的数字。不是1,2,3,而是大于10的数字。@MaykPire,正如Vladimir F所说,这是一个不同的问题。这里没有足够的信息来诊断问题,因此您应该编写一个完整的示例(请参阅),如果这对您没有帮助,请搜索答案,然后再问另一个问题。不过,有一件事需要检查:在查看输出之前,是否关闭了文件(程序完成后会这样做)?
read *, x
read (*,*) y