fortran程序。定义了一个函数F(X),在主程序里调用时总出错。后来发现是自变量的类型之类的错误。

[复制链接]
查看11 | 回复3 | 2013-2-9 14:45:57 | 显示全部楼层 |阅读模式
Real类型之间比较大小时,在你的例题里需要判断两个实数相等,判断两个实数相等经常会出现不稳定的情况。建议楼主将do while里的内容改为int(y)<=int(x)。这样将他们转换为整数后再比较大小更靠谱。另外,像大家说的,函数里定义的数据类型要和调用时给的数据类型一致。楼主试一试吧...
回复

使用道具 举报

千问 | 2013-2-9 14:45:57 | 显示全部楼层
在子程序中X是实型变量,调用的时候也要用实型的。所以用J(3.0)正确,用J(3)出现错误。但是在主程序中写:X=3
! X是实型变量Z = J(X)则不会出现错误。...
回复

使用道具 举报

千问 | 2013-2-9 14:45:57 | 显示全部楼层
因为你定义X是浮点数,而你输入X=3时候,会自动默认X为整数类型所以通常输入代表整数的浮点数时,要加个形式上的小数点...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行