作者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