背景
为软盘编译Linux。安装的Fortran如下:
sudo apt-get install fort77问题
$ make
f77 -c -w touppr.for
touppr:
Error on line 12: attempt to give DATA in type-declaration来源
touppr.for的整个源文件
character*(*) function touppr(char)
*-----------------------------------------------------------------------
*
*--- Converts a string to upper case
*
*--- Input
* char - string to be converted
*--- Output
* touppr - uppercase char as value of function
*-----------------------------------------------------------------------
character*(*) char
character*26 cup /'ABCDEFGHIJKLMNOPQRSTUVWXYZ'/
character*26 clo /'abcdefghijklmnopqrstuvwxyz'/
save cup,clo
touppr = char
do 1 i=len(char),1,-1
ipos = index(clo,char(i:i))
if(ipos.ne.0) touppr(i:i) = cup(ipos:ipos)
1 continue
end第12和13行是:
character*26 cup /'ABCDEFGHIJKLMNOPQRSTUVWXYZ'/
character*26 clo /'abcdefghijklmnopqrstuvwxyz'/问题
阻止代码编译的第12和第13行有什么问题,您将如何修复它?
发布于 2014-06-10 22:04:05
这是不合法的Fortran 77或任何其他标准。错误信息是非常正确的。数据语句必须是单独的,或者必须使用Fortran 90的初始化语句。或者将它们定义为参数,然后删除保存。
以下内容将使用f77进行编译:
character*26 cup
character*26 clo
data cup/'ABCDEFGHIJKLMNOPQRSTUVWXYZ'/
data clo/'abcdefghijklmnopqrstuvwxyz'/
save cup,clohttps://stackoverflow.com/questions/24151298
复制相似问题