作者koala4120 (pure)
看板Fortran
標題[問題] 哪裡有問題
時間Tue Mar 24 18:36:39 2009
program test
real :: x, y
write(*,*) 'input x=?'
read(*,*) x
do while(1.0/(1-x),x/=0)
y=ln(1.0/(1-x))
write(*,*) x, y
write(*,*) 'input x=?'
read(*,*) x
enddo
end
問題出在(1.0/(1-x),x/=0)
error 561-','found where a ')' was expected
想說應該是逗號那個x/=0是多餘的
可是x/=0明明就是條件 為什麼又不行
然而當我把x/=0去掉時
又會出現write(*,*) 'input x=?'這裡有錯誤
怎麼會這樣?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.114.243.98
1F:推 awer89:do while 是邏輯運算 只有1.0/(1-x) > < = 多少 當然不能 03/24 18:50
2F:→ gilocustom:除了do while有錯,有ln這個內建函數嗎?標準是alog吧? 03/24 18:55
3F:→ koala4120:我已經改成(1.0/(1-x)>0.,x/=1.0)卻還是不行 03/24 19:12
4F:→ koala4120:有ln的內建函數 03/24 19:12
5F:推 awer89:(1.0/(1-x)>0. .and. x/=1.0) 03/24 19:20
6F:→ koala4120:謝謝你! 但是這樣打後會出現write(*,*) 'input x=?' 03/24 19:22
7F:→ koala4120:有錯誤 為什麼? 03/24 19:23
8F:推 awer89:我沒這問題 還是你x/=1.0拿到 改在迴圈內 if (x==1) exit 03/24 19:34
9F:→ awer89: 拿掉 03/24 19:35
10F:→ koala4120:可以了謝謝 請問一下 為什麼這樣可以?? 03/24 19:51
11F:推 awer89:不知道是不是編譯器的關係 所以換個相同概念的寫法 03/24 20:01
12F:→ koala4120:我的編輯器是PLATO的想請問你的編輯器是?可以給我嗎? 03/24 20:04
13F:→ koala4120:因為我覺得我這個怪怪的! 03/24 20:05
14F:推 awer89:The G95 Project 不過可能要自己找 因為我是用大一時 03/24 20:11
15F:→ awer89:助教所提供的 03/24 20:12
16F:→ koala4120:謝謝你 我去找看看! 03/24 20:12
17F:→ awer89:便當狗 14039632 我直接壓縮 不知道能不能直接解壓縮使用 03/24 20:29