回 帖 发 新 帖 刷新版面

主题:一段代码为什么在qbasic中可以在freebasic中不行呢?

declare sub fact(m!,total!)
cls
a=5
b=6
c=8
call fact(a,tot)
s=tot
call fact(b,tot)
s=s+tot
call fact(c,tot)
s=s+tot
print a;"! +";b;"! +";c;"! =";s
sleep
end

sub fact(m,total)
    total=1
    for i=1 to m
        total=total*i
    next i
end sub

就这段代码。

在qb中可以,但在freebasic中要把declare sub fact(m!,total!)这一句改成declare sub fact(m,total)才行,要不然就提示"Type mismatch,at parameter 1 of FACT()"。
在第6行。

在freebasic中不可以用单精度吗?

回复列表 (共3个回复)

沙发

没使用过freebasic

你试一下把
sub fact(m,total)

改为:

sub fact(m as single,total as single)

看看能不能行?

板凳

不行耶,是不是因为freebasic隐式声明为整形呀?

3 楼

那么就要看你的freebasic的版本了0.18好像要加上一個參數-lang qb才行
fb語法不支持類似a$ a%這種的

我来回复

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