错误:语句标签中的非数字字符(1)?

lin*_*ird 5 fortran

我在fortran中写了以下两行

C23456789
    REAL H3 = 0                                                       
    H3=H*H*H  
Run Code Online (Sandbox Code Playgroud)

我从gdb收到以下错误:

ljmd.f:186.5:

    REAL H3 = 0                                                         
     1
Error: Non-numeric character in statement label at (1)
ljmd.f:187.5:

    H3=H*H*H                                                            
     1
Error: Non-numeric character in statement label at (1)
ljmd.f:187.6:

    H3=H*H*H                                                            
      1
Run Code Online (Sandbox Code Playgroud)

在别人的fortran程序中创建和使用新变量的正确方法是什么?C23456789是程序中使用的当前列的标签.

Vla*_*r F 7

这是任何随机的Fortran教程.我希望你有固定的源表格.然后任何声明必须从第7列开始或更远.

也,

REAL H3 = 0
Run Code Online (Sandbox Code Playgroud)

在自由形式的源码Fortran中是不合法的,并且以固定形式完成不同的事情(请参阅@francesalus的评论).在你的情况下,根本没有理由初始化变量.你可以这样做

  REAL H3
  H3 = H**3
Run Code Online (Sandbox Code Playgroud)

如果您碰巧需要在其他地方进行初始化,您必须使用

  real :: a = 0
Run Code Online (Sandbox Code Playgroud)

(需要Fotran 90),或

  REAL A
  DATA A/0/
Run Code Online (Sandbox Code Playgroud)

(在Fortran77中).请注意,两个版本都可以static使用其他语言编写变量SAVE .

最后一点,你不能在"程序中间"的任何地方引入变量,变量声明在每个编译单元的开头都有它们的位置(程序,函数,子程序......).