gFortran 打印语句格式,空格太多



我正在编写的Fortran程序是将两个整数相加并得到一个总和,我必须将其打印为"4 + 5 = 9",而4和5是用户输入。我遇到了一些在打印语句中打印出太多不必要的空格的问题。所以我做了一些研究,然后我找到了一个解决方案。但它一直告诉我 PRINT 语句中的语法是错误的,我不知道为什么以及如何。请帮助我解决这种情况。谢谢

我使用了此链接提供的解决方案:输出格式:gfortran 中的空格太多

PROGRAM SumProgram
IMPLICIT NONE
   !Define and initialize variables
   integer :: IntegerOne, IntegerTwo, Sum
   IntegerOne = 0
   IntegerTwo = 0
   Sum = 0
   !Prompt the user for inputs
   print *,' Enter the two Integers to be added together: '
   READ(*,*) IntegerOne, IntegerTwo
   !Do the Calculation
   Sum = IntegerOne + IntegerTwo
   PRINT (*, '(I0, "+", I0, "=", I0)') IntegerOne, IntegerTwo, Sum
END PROGRAM

我期待"4+5=9"的输出

你的语法对WRITE语句很好,但PRINT就像

 PRINT '(I0, "+", I0, "=", I0)', IntegerOne, IntegerTwo, Sum

但我发现

 PRINT '(5g0)', IntegerOne, "+", IntegerTwo, "=", Sum

更易于阅读。(如果不能使用 g0,请使用 '(i0,a,i0,a,i0)'

或者只是用PRINTWRITE......我个人总是使用 write,只对临时调试消息使用 print。它使它们很容易找到。

请记住,基本形式是

 PRINT *, "Hello"

与。

 WRITE(*,*) "Hello"

因此,具有显式格式的表单必须符合它们。

最新更新