回 帖 发 新 帖 刷新版面

主题:[讨论]77与90下简单的小程序一点问题

1. program ex0510 
2. implicit none
3.  real:: a
4.  real:: b=4.0
5.  real,parameter::e=0.0001!设置误差范围
6.
7.  a=sqrt(b)**2-b
8.
9.  if(abs(a-0.0)<=e)   then
10.  write(*,*) "a=0"
11.  else
12.  write(*,*) "a/=0"
13.  end if
14.
15.  stop
16.  end 
--------------------Configuration: 88 - Win32 Debug--------------------
Compiling Fortran...
C:\MSDEV\Projects\88\Text2.f90
C:\MSDEV\Projects\88\Text2.f90(1): error FOR3852: syntax error
C:\MSDEV\Projects\88\Text2.f90(1): error FOR1768: missing END statement or missing program unit (possibly free-form source in fixed-form file)
Error executing fl32.exe.
Text2.obj - 2 error(s), 0 warning(s)

我刚学习。一开始学的是77,但用90运行的这个小程序有问题(在书上抄的)。我又用77写了下,77下没问题
我想问下什么原因啊,是不是90的有些问题我没注意呢?


[em1]

回复列表 (共5个回复)

沙发

我运行了你上面的程序,没有问题。可能是你自己输入的时候出现了问题。
别外
FOR3852的错误信息是:A syntax error occurred. The error made it impossible for the compiler to interpret the code and issue a more specific error. This can include errors such as leaving the parentheses off a logical condition in a WHERE statement or improperly nested IF and WHERE blocks.大概就是说有符号用错了。

FOR1768的错误信息是:This error can be caused by a missing END statement (most common) or by the absence of an expected program unit; for example, a CONTAINS statement with nothing following it, or a UNION not contained in a structure. It can also be caused by compiling free-form code as fixed form, which prevents the compiler from properly interpreting the program units. 大概就是说你格式表达不清楚(可以没有end),让编译器不知道是自由格式还是固定格式。

综上,我估计是你输入的文字编码有问题。


板凳

谢了,顺便问下你的这些错误类型在那查的这么详细啊

3 楼


是,我运行了,也没问题

4 楼

要看你的是什么编译系统了。Fortran PowerStation 4.0下在help菜单下serarch搜索就代号就行了如FOR3852;Compaq Visual Fortran 6.5下,点help菜单-contents,后会出现compaq Visual fortran的帮助文档,依次点击Visual Fortran--Compqa Visual Fortran---Error Messages 里面可以找到一些有关错误信息。IVF而言我用的版本没有找到有关错误信息的帮助,我一般是在官网上搜索到相关的错误信息的。如:http://www.intel.com/中,我在搜索中输入error 8000 就可以找到代号8000的错误信息的一些信息。

5 楼

我觉得是楼主编译器的问题, cvf报错也比较详细了.

我来回复

您尚未登录,请登录后再回复。点此登录或注册