Fortran Coder

楼主: Villain
打印 上一主题 下一主题

[求助] 求解释:用module里的变量和用数字定义数组为什么结果不同

[复制链接]

60

帖子

17

主题

0

精华

专家

F 币
454 元
贡献
266 点
8#
 楼主| 发表于 2015-5-20 17:24:48 | 只看该作者
pasuka 发表于 2015-5-20 15:19
vs2008和ivf不是一码事情。。。不能排除在循环的时候变量i其实大于nx,所以报错

不妨把i的值打印出来看看 ...

打印了,完全没问题。

490

帖子

4

主题

0

精华

大宗师

F 币
3298 元
贡献
1948 点

水王勋章元老勋章热心勋章

7#
发表于 2015-5-20 15:19:42 | 只看该作者
本帖最后由 pasuka 于 2015-5-20 15:23 编辑
Villain 发表于 2015-5-20 14:33
用的是microsoft visual studio 2008。
因为nx是从外部读入的,不同的case对应的nx不一样。 ...

vs2008和ivf不是一码事情。。。不能排除在循环的时候变量i其实大于nx,所以报错

不妨把i的值打印出来看看

60

帖子

17

主题

0

精华

专家

F 币
454 元
贡献
266 点
6#
 楼主| 发表于 2015-5-20 14:33:26 | 只看该作者
pasuka 发表于 2015-5-20 12:55
用了ivf吗?是的话,多半和save属性有关
既然nx事前确定,为啥不加parameter属性? ...

用的是microsoft visual studio 2008。
因为nx是从外部读入的,不同的case对应的nx不一样。

490

帖子

4

主题

0

精华

大宗师

F 币
3298 元
贡献
1948 点

水王勋章元老勋章热心勋章

5#
发表于 2015-5-20 12:55:24 | 只看该作者
用了ivf吗?是的话,多半和save属性有关
既然nx事前确定,为啥不加parameter属性?

712

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
608 元
贡献
311 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

地板
发表于 2015-5-20 12:53:08 | 只看该作者
debug调试,找到越界的位置,查看下标和数组定义。

60

帖子

17

主题

0

精华

专家

F 币
454 元
贡献
266 点
板凳
 楼主| 发表于 2015-5-20 12:22:28 | 只看该作者
楚香饭 发表于 2015-5-20 11:08
如果 nx 的值确实从来没改变过。那么 integer::njb_new(nx) 和 integer::njb_new(146) 是一样的。 ...

还真是没变。
那个子程序只要输出一次我就让nx输出一次,整个计算过程中nx完全没变化,全都是146。但是只要用nx来设置数组就会报错。我已经无语了。

712

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
608 元
贡献
311 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

沙发
发表于 2015-5-20 11:08:12 | 只看该作者
如果 nx 的值确实从来没改变过。那么 integer::njb_new(nx) 和 integer::njb_new(146) 是一样的。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-20 17:10

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表