SUBROUTINE SWAPEL(N,A)
C------------------------------------------------------------------------------------
C swaps elements of array
C------------------------------------------------------------------------------------
INTEGER N,I
REAL A(N),AT(N)
DO 10 I=1,N
10 AT(I)=A(I)
DO 20 I=0,N-1
20 A(I+1)=AT(N-I)
RETURN
END
在f2c程序中出現錯誤
Declaration error for at : adjustable dimension on non-argument
wr_ardecls: nonconstant array size
uj5u.com熱心網友回復:
這代碼寫得有問題吧,為什么要先用臨時陣列復制一次呢~~~uj5u.com熱心網友回復:
這個不是復制一次吧,就是用中間變數然后把A陣列里面的元素換序啊 就倒著放回Auj5u.com熱心網友回復:
逆序可以直接:SUBROUTINE SWAPEL(N,A)
C------------------------------------------------------------------------------------
C swaps elements of array
C------------------------------------------------------------------------------------
INTEGER N,I,X
REAL A(N)
DO 10 I=1, INT(N / 2)
X = A(I)
A(I) = A(N - I + 1)
10 A(N - I+1)=X
RETURN
END
先復制一遍,如果陣列很大的話占用空間很多,效率也很低
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/122826.html
標籤:其他開發語言
上一篇:raptor編程求解
