回 帖 发 新 帖 刷新版面

主题:我发现了一个问题

RAMDOMIZE TIMER这个语句为什么能执行呢?我在晚上6点钟的时候输入了这样几行语句:
PRINT TIMER
RANDOMIZE TIMER
RANDOMIZE
第一个语句执行后它打出6万多的一个数字,第二个语句顺利执行,第三个语句它叫你输入一个数,必须在-32768到32768之间,但第二个语句中的TIMER应该是超过了37268的,为什么还是可以执行?如果我再输入刚才打出的那个6万多的数字它就要我“redo from start”,这是为什么?

回复列表 (共4个回复)

沙发

他舍入16位的一半以上的!

板凳

什么叫16位一半以上?请说清楚一点谢谢

3 楼

RANDOMIZE只是执行产生不同的数据。为什么输入的数据必须在-32768到32768是因为
QBASIC的基本数据类型是从整型开始的。

4 楼

RANDOMIZE TIMER
会自动将Timer的值截取成短整形(前低位字节)来处理的吧

我试过在7.1和4.5里面,参数值是600000也能顺利运行的,
不知道你的问题出在哪。

我明白了:

(输入刚才打出的那个6万多的数字它就要我“redo from start”,)
你是错在input语句,input后面带的是整形变量,6万当然超出界限要重输了。

我来回复

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