[英]fortran f90 output not producing the expected result
我正在嘗試使用此程序對X(i + 1)= X(i)* 50進行迭代。 編譯后,代碼的輸出不是預期的結果。 例如,X1的值假定為500,X0 = 10。 但是在這種情況下,它產生0。我做錯了什么。
program error
implicit none
integer :: i
real*8,dimension(4) :: X
real*8 :: X0
X0=10
do i=0,3
X(i+1)=(50.0d0)*X(i)
write(*,*), i, X(i+1)
end do
end program error
看起來好像分配了X0,但從未在計算中使用。 是否應該沒有將X0分配給X(1)的行? 或者更明確地說:X0與X(1)不同。 另外,fortran中的數組具有從1開始的默認索引,因此循環中使用的索引不正確。
program error
implicit none
integer :: i
real*8,dimension(5) :: X <-- Extend by one element
real*8 :: X0
X0=10
X(1) = X0;
do i = 1,4 <-- Important!
X(i+1)=(50.0d0)*X(i)
write(*,*), i, X(i+1)
end do
end program error
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.