| 
 | 
 
小弟我在做一个网格的时候碰到的一件怪事。 
 
从boss那边拿到的一个程序改的 
 
大概是这样的 
 
module common 
(省略部分) 
integer::II,JJ 
(省略部分) 
end module common 
 
然后在主程序和自程序中都有 use common 
 
但是在调用子程序的时候大概是这样: 
call subAA(II,JJ,output) 
write(*,*)II,JJ 
 
在子程序中II,JJ都没有参与计算,只是作为循环的控制量,我用的是Microsoft visual fortran2008,但是用32位的ivf发现II经过了子程序后数值改变为0,而JJ并没有发生改变。而在同一台电脑上用64位的ivf编译则没有这种错误。 
本人电脑是64位的,出现这种错误的原因到底是什么?在使用中该如何避免? 
望各位大神指点。 
 
 |   
 
 
 
 |