返回列表 发帖

[问题求助] 求助,第一次接触VBS代码

各位大佬帮忙看一下为啥错了?输出是0
想输出想x(x(x(ax+b)+c)+c)+e
Option Explicit
Dim a1,a2,a3,a4,y
a1 = "a" * "x" + "b"a2 = "x" * (a1) + "c"
a3 = "x" * (a2) + "c"
a4 = "x" * (a3) + "e"
MsgBox a4[/quote]COPY
dim x,a,b,c,e,a1,a2,a3,a4,y
a1 = a*x+b
a2 = x*a1+c
a3 = x*a2+c
a4 = x*a3+e
y = CStr(a4)
msgbox yCOPY

你没有赋值啊,初始值都是0,结果当然也是0了
a1 = 1
a2 = 2
x = 3
这样子,把变量都赋值,才能计算结果
如果要手动输入,这样子写
a1 = 0 + InputBox("a1")

你这个另存为vbs而不是bat文件

QQ 20147578

TOP

Option Explicit
Dim a1,a2,a3,a4,y
a1 = "a" * "x" + "b"a2 = "x" * (a1) + "c"
a3 = "x" * (a2) + "c"
a4 = "x" * (a3) + "e"
MsgBox a4COPY
你这个属实没搞懂啊
bat里的变量是字符串替换 在执行 但是vbs不一样啊
*的意思是乘 需要两个数字类型的变量用
所以你应该
Option Explicit
Dim a1,a2,a3,a4,y
a1 = a * x + b
a2 = x * a1 + c
a3 = x * a2 + c
a4 = x * a3 + "e"
MsgBox a4COPY
还有变量名不需要括起来
当然括了不会出错
你好

TOP

且你的所有变量都没有初始化
在dim的过程中 变量会被初始化为Empty 你可以理解为0
你好

TOP

回复 3# jyswjjgdwtdtj


    谢谢大佬

TOP

回复 3# jyswjjgdwtdtj


    大佬。报错了。
链接

TOP

回复 6# 3634043412


    https://t.wss.ink/f/bewbwk71joj 复制链接到浏览器打开

TOP

回复 6# 3634043412


    因为你的变量a没有定义 所以a的值为empty empty不是一个数字 所以不能参与乘法运算 所以报错
你好

TOP

回复 7# 3634043412


    要上传图片 可以去找一个图床 比如imgtp.com
把图片链接 不是网址 粘贴到”[img][/img]“之间
你好

TOP

a = 11
x = 22
b = 33
c = 44
e = 55
a1 = a * x + b
a2 = x * a1 + c
a3 = x * a2 + c
a4 = x * a3 + e
y = CStr(a4)
msgbox yCOPY

QQ 20147578

TOP

对了 你可以不必搞那么多
直接msgbox x*(x*(x*(a*x+b+c)+c)+e
你好

TOP

返回列表