gfortran错误:格式字符串中缺少前导左括号

时间:2012-05-09 15:30:50

标签: gfortran

我从gfortran那里得到了错误:

     write(*,'ERROR in subroutine rddist ')                                
               1

错误:格式字符串中缺少前导左括号(1)

IO-cfs.f:6574.41:

 >    (nint(MOD(cld_scale*1000000.0, 1000000)) .NE. 0)) THEN               
                                     1

错误:(1)中'mod'的'a'和'p'参数必须具有相同的类型

您能告诉我它的含义和解决方案吗?非常感谢。

迈克尔

1 个答案:

答案 0 :(得分:1)

首先:write(*,'ERROR in subroutine rddist ')不是写字符串'ERROR in subroutine rddist '的指令。写例程的第二个参数是格式字符串,它应该从'(开始并结束)'。由于您的格式字符串无法正常启动,编译器在那里发现了错误。你可能想写的是:

write(*,*) 'ERROR in subroutine rddist '

现在检查Fortran文档中的“编辑描述符”以了解write命令的第二个参数。

第二:mod内在函数要求它的两个参数都具有相同的类型(也是类型)。您已为其指定了实数cld_scale*1000000.0和整数1000000。根据您希望结果的类型将其中一个转换为另一个类型。对于类型转换,请查看函数realint