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
当我编译代码时,我在写行时收到一条错误消息,我无法修复
编译错误:错误573 - 缺少表达式
答案 0 :(得分:2)
正如已经评论过的那样,在输出项目列表之前不应该有逗号。你应该只是
write(1,*) Sw_pd(i), Pcow_pd(i)
等等。
后一行
print*, counter
在counter
之前的逗号是绝对必要的,可能会增加一些写作的混乱。这可能因read
的使用方式而增加:有两种形式:
read *, x
read (*,*) y
没有明确的单位陈述的第一个例子意味着与第二个中的*
相同的单位,它需要一个逗号。第二个不能有逗号。
一种简单的方法来记住输出列表是否首先使用逗号:如果格式是隔离的,请使用逗号;如果指定了单位,则不要。