小众知识

fortran逻辑操作and前面为假如何让后面不执行
2016-11-03 09:33:55   来源:   评论:0 点击:

按从左到右的evaluate顺序,如果k

比如下面的语句
x是一个数组,下表从1开始
if (k>0 .锚点and. x(k) >0.5) then
        ....
endif
按从左到右的evaluate顺序,如果k<0那么.and.右边的就不会执行,但是intel frotrna比较特别,他是两者同时进行的,就导致k=0的时候,程序崩溃。

以前的powerstation 4.0的程序在intel fortrna下频繁出错,最近头疼死了。

试试这个。
------------------------
if(k>0) then
 if(x(k)>0.5) then
  ...
 endif
endif


设置什么VIX还是什么的兼容就行了,具体名字忘记了你在设置里面找找。


编译的时候有选项可以兼容power station的。


ifort这样做也没啥错,这样做可以把代码优化的更好
要怪就怪fortran数组下标从1开始吧哈哈

相关热词搜索:逻辑 何让

上一篇:error #7938:Character length argument mismatch怎么解决?
下一篇:最后一页

分享到: 收藏
评论排行
最新发布