24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1434  |  回复: 10
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

junmajifei

铜虫 (正式写手)

[求助] Fortran数组的调用问题已有6人参与

在网上看到一段代码,
integer bi(50000)
bi(20000) = 20000
...

if (bi(A).eq.A) goto 165

这里A的取值有两种情况,或者是0,或者是20000

请问bi(0)的值为多少?  

既然定义了integer bi(50000),bi应该是默认从1开始的,我不明白bi(0)存不存在,如果存在,默认值时多少?

电脑上没装fortran,还请广大虫友指教。
回复此楼

» 收录本帖的淘帖专辑推荐

计算机语言

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

相信自己,活出自己的精彩!
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

pippi6

铁杆木虫 (著名写手)

工程和科学数值计算咨询

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
junmajifei: 金币+25, ★★★★★最佳答案, 回答的很详细。 2015-01-11 09:51:53
bi(0) 是没有定义的。但是,一般的编译器,比如CFV6.6,如果你没有使用 /check:bounds 的option的话, 允许你用。但是,值就不一定了。很可能取决于内存中排在数组  bi 之前的变量是什么。也就是说,有随机性。所以,是一个没有意义的问题。但,默认值很大可能性是0. 这是因为大多数变量很可能尚未赋值过。

如果使用了 option /check:bounds 和 /traceback, 就会出 run time error,告诉你停在那里。
6楼2015-01-11 01:01:26
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 junmajifei 的主题更新
信息提示
请填处理意见