主题:关于IF语句的一个问题
54BB
[专家分:380] 发布于 2005-05-14 15:05:00
[font=宋体][/font]我想问大家一个问题:
用IF语句时,例如:IF 3^3=27 THEN PRINT 5
这种语句好像它不会执行,似乎只有写成 IF 3*3*3=27 THEN PRINT 5
才有效果,为什么呢?
回复列表 (共18个回复)
沙发
moz [专家分:37620] 发布于 2005-05-15 11:39:00
不会吧,你用的是什么语言啊?
板凳
binbin520 [专家分:60] 发布于 2005-05-15 12:54:00
你用的什么呀~!basic?
还是qbasic??
3 楼
54BB [专家分:380] 发布于 2005-05-15 18:04:00
你们有没有试一下?
4 楼
moz [专家分:37620] 发布于 2005-05-15 20:44:00
我试过了,执行你的那句程序后,
屏幕显示有一个5字,不知道是不是程序出问题了。
5 楼
54BB [专家分:380] 发布于 2005-05-16 15:47:00
QB45来看看哪,这个问题真的有点莫明其妙
6 楼
moz [专家分:37620] 发布于 2005-05-16 16:25:00
qbasic 1.0 是有这个情况的
4.5和7.1版本都不会出现的
7 楼
qb45 [专家分:2880] 发布于 2005-05-16 16:31:00
bb,我已经试验过!
正如你所说!
8 楼
啊远 [专家分:2610] 发布于 2005-05-16 16:38:00
这可能是QBASIC在处理运算运符优先级的一个洞洞!!
9 楼
moz [专家分:37620] 发布于 2005-05-16 16:48:00
洞洞?呵呵,我记得qbasic1.0在UCDOS下的input语句或者inkey$
语句都输不了 “三”“青”这些字的后半个字的,我还得换一个字符来代替输入的,不过忘了那chr码是多少了。用asc(right$("三",1))看看吧。
现在我基本上都用7.1了,所以不会再有了。
10 楼
54BB [专家分:380] 发布于 2005-05-17 23:49:00
非常感谢大家,我用的QB45,也出现了这个问题,或许只有QB71才改进了吧(我没试过)。
我来回复