Fortran 中的程序每次执行都会打印不同的结果

问题描述 投票:0回答:1

该程序每次运行时都会打印变量

ar
的不同值。运行之间的代码没有任何变化。

      IMPLICIT REAL *8 (A-H,O-Z)

      PI = 0
      PI=4.D0*ATAN(1.D0)
      PRINT *, 'PI =', PI
    
      ar = 0
      ar = 243.90472242d0 * PI / 180d0
      PRINT *, 'ra in radians=', ra

      END

第一次使用 Fortran 编程。我正在 Ubuntu 18.04.6 上使用 gfortran 进行编译。有人知道如何解决这个问题吗?

我将终端中获得的输出放在下面:

 PI =   3.1415926535897931     
 ra in radians=   1.0600151175395439E-023

 PI =   3.1415926535897931     
 ra in radians=  -2.0629687487667335E-113

 PI =   3.1415926535897931     
 ra in radians=  -3.8284964032531453E+030

 PI =   3.1415926535897931     
 ra in radians=   3.1129032950886427E-197

 PI =   3.1415926535897931     
 ra in radians=  -1.9759068544432418E+296

 PI =   3.1415926535897931     
 ra in radians=   6.9844978200929715E-043

 PI =   3.1415926535897931     
 ra in radians=  -5.1456199117269666E-069

 PI =   3.1415926535897931     
 ra in radians=   8.9199956919604065E-293

 PI =   3.1415926535897931     
 ra in radians=  -4.2627025759448686E-296

 PI =   3.1415926535897931     
 ra in radians=   6.6564214481535599E+085

 PI =   3.1415926535897931     
 ra in radians=  -4.9868560013955360E-189

 PI =   3.1415926535897931     
 ra in radians=  -2.6981838685313715E+176

 PI =   3.1415926535897931     
 ra in radians=  -6.8783573079901012E+290

 PI =   3.1415926535897931     
 ra in radians=   2.5019209606350738E+051

 PI =   3.1415926535897931     
 ra in radians=   2.5043572241487943E+102

 PI =   3.1415926535897931     
 ra in radians=  -8.4319767436500338E+073

我期望得到类似的东西:

PI = 3.1415926535897931

ra 弧度= 4.256940467391832

fortran gfortran
1个回答
0
投票

PRINT *, 'ra 弧度=', ra 应该是 PRINT *, 'ra 弧度=', ar 如果我记得 fortran 未初始化的变量可能有随机值。

© www.soinside.com 2019 - 2024. All rights reserved.