帮你在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
发现两个问题没有,第一是你没有定义变量的类型,执行"+"时被当成字符串
第二是你没有进行运算符优先级判断
剩下问题交给你自己去解决了.