如题
这个问题困扰我很久了
本鲁使用visual studio
目前我这个程式的架构
是由C++去呼叫一个for的dll
然后跑dll里面众多的subroutine
重点来了
当我跑了六次这个循环的时候
在跑完!******************************************
标示的该行后
有一个于这个循环都没有出现的参数NNE(7)
会自动变为一个很奇怪的数字
原本为14跑完后变为一个极大的数字
但该行甚至这个循环 与参数NNE应该是一点关系也没有
为何会这样 求解 先谢过大家了
附图
按一下F11逐步执行后变成
完全没有道理啊@@
附上该循环
DO I=L,1,-1
OPEN(60,FILE='MANNING.DAT',STATUS='OLD')
OPEN(61,FILE='NCCHECH.OUT',STATUS='UNKNOWN')
READ(60,1002) NC
1002 FORMAT(5X,F8.5)
CMN(I,J)=NC
!******************************************
WRITE(61,*)"CMN(",I,",",J,")",CMN(I,J)
!******************************************
!将CMN写入NCCHECH.OUT
READ(IIN,1004) NDS(I,J),XL,XR,LL,LR,LC
1004 FORMAT(8X,F8.0,2F8.2,3F8.0)
C DIST1(I,J)=(LL+LC+LR)/3.0
DIST1(I,J)=(LL+LC+LR)/3.0*3
KK=NDS(I,J)
WRITE(5,1006)J,I,NDS(I,J),XL,XR,DIST1(I,J),CMN(I,J)
1006 FORMAT(//5X,I3,2X,I3,4X,F8.0,2X,F8.2,2X,F8.2,2X,F8.2,2X,F8.4)
READ(IIN,1008)(AY(II,I,J),AX(II,I,J),II=1,KK)
1008 FORMAT(2X,F6.2,9F8.2)
WRITE(5,1978)(AY(II,I,J),AX(II,I,J),II=1,KK)
1978 FORMAT(2X,F6.2,9F8.2)
Z(I,J)=100.0
DO 1010 II=1,KK
IF(AX(II,I,J).EQ.XL) N1(I,J)=II
IF(AX(II,I,J).EQ.XR) N2(I,J)=II
IF(Z(I,J).GE.AY(II,I,J)) THEN
Z(I,J)=AY(II,I,J)
Z919(I,J)=AY(II,I,J)
END IF
1010 CONTINUE
WRITE(5,1012) N1(I,J),N2(I,J),Z(I,J)
c WRITE(*,1012) N1(I,J),N2(I,J),Z(I,J)
1012 FORMAT(5X,I8,2X,I8,2X,F8.2)
END DO