Fortran Coder

标题: 不同大小数组赋值的问题 [打印本页]

作者: 陈怡然vs    时间: 2016-9-2 19:12
标题: 不同大小数组赋值的问题
大家好!我在编译一个插件的时候遇到了一个问题:

           某一段程序中出现了

          r_wrk(jfe+2:jfe+12) = leaf%props(1:10)

        这样的赋值,左边数组大小为11,右边为10。而另一段程序出现

        prop    = r_wrk(nx+nf+2:nx+nf+12)

(由于源程序太庞大就暂时不贴上来了),这样的表达式在GNU 4.8上可以编译通过, 而在GNU5.1下就编译不通过了。
想请问一下这种赋值的本质是什么,有没有替代的表述方式?

多谢各位

作者: vvt    时间: 2016-9-2 19:32
这种赋值的本质就是不严谨。
代替的表述方式,就是摸清作者的意图,然后改正确,改严谨。
作者: 糖盒love玲珑    时间: 2016-9-3 21:53
可以试试用循环只处理 10个元素的赋值!
作者: pasuka    时间: 2016-9-4 09:57
不用啥本质,就是典型的错误代码或者陋习!
请不要给这样糟糕的代码找理由开脱




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2