用VBS编了个算24的小程序,为什么结果不对呢?比如1243或7643这两组数字,错在哪?

2025-03-11 01:27:45
推荐回答(1个)
回答1:

帮你在VB调试了下你的VBS,发现了很有趣的现象

输入1 2 4 3的时候结果会返回两个,其中一个是错误的"1+2-4*3"

 

因为我调试的时候,想跟踪流程,所以就懒得每次都打1 2 4 3,直接就把inputbox那几条换成

        a = 1
        b = 2
        c = 4
        d = 3

然后发现那个错误答案没了,我很是十分惊讶啊,这是什么情况

 

再进一步调试发现,这个错误真的非常有趣,涉及到你代码的两个设计缺陷

首先那个错误答案是这么被错误计算的:

 

1 inputbox返回的是字符串,而字符串是可以通过符号 " + " 连接起来的

                所以1+2=12

2 字符串是不可以用 " - "的,所以字符串才会被当成数字进行计算,12-4=8

 

3    最后是8*3=24

 

发现两个问题没有,第一是你没有定义变量的类型,执行"+"时被当成字符串

第二是你没有进行运算符优先级判断

 

剩下问题交给你自己去解决了.