簡體   English   中英

fortran f90輸出未產生預期結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM