回 帖 发 新 帖 刷新版面

主题:fortran变量赋值问题

才开始学习fortran,所以在编程时碰到这样一个问题
1    do 10 k=-3.5,3.5
2    x=k*0.75
3    y=0.0
但是断点发现k值在2里面被当成整数了,即x值为-3*0.75,还有就是类似情况,当赋给一变量为小数时,带入下一个式子计算时出现同样问题,求解这是为什么?
还有就是对于此类情况如何处理,谢谢了

回复列表 (共6个回复)

沙发

循环不要用实型数。

板凳

初学不要学被抛弃的标准. 找本适合的书很重要.

3 楼

即使不在循环里,就单独赋值然后再带入另一个表达式里也会出现类似问题,这是为什么??????

4 楼

real     :: x,y
integer :: k
do k=0,7
  x=(-3.5+real(k))*0.75
  y=0.0
enddo

5 楼

复制黏贴竟然乱码... 
要看k是什么类型, 如果是整形, 你把浮点数赋值给他, 他最终还是会变成整形的.(这是基础知识哦...)

6 楼

fortran里是有IN准则的,就是说如果你没有事先定义变量类型,那么一I-N开头的变量是整形,其余是非整形,你这种情况是没有事先定义k的类型吧?

我来回复

您尚未登录,请登录后再回复。点此登录或注册