请教一个VB计算题,朋友请进 10
OptionExplicitPrivateSubCommand1_Click()DimaAsInteger,bAsInteger,zAsIntegera=1:b=1:z=...
Option Explicit
Private Sub Command1_Click()
Dim a As Integer, b As Integer, z As Integer
a = 1: b = 1: z = 1
Call P1(a, b)
Print a, b, z
Call P1(b, a)
Print a, b, z
End Sub
Private Sub P1(x As Integer, ByVal y As Integer)
Static z As Integer
x = x + z: y = x - z: z = x + y
Print x, y, z
End Sub
这里面有三个print,为什么会输出四行?分别为
112
111
314
131
这些结果是如何算出来的,请指教,在线等
我知道为什么会是四个,但是Sub1里的x和y并没有用static定义为什么进入下一次运算时还要以上一次的值为基础? 展开
Private Sub Command1_Click()
Dim a As Integer, b As Integer, z As Integer
a = 1: b = 1: z = 1
Call P1(a, b)
Print a, b, z
Call P1(b, a)
Print a, b, z
End Sub
Private Sub P1(x As Integer, ByVal y As Integer)
Static z As Integer
x = x + z: y = x - z: z = x + y
Print x, y, z
End Sub
这里面有三个print,为什么会输出四行?分别为
112
111
314
131
这些结果是如何算出来的,请指教,在线等
我知道为什么会是四个,但是Sub1里的x和y并没有用static定义为什么进入下一次运算时还要以上一次的值为基础? 展开
4个回答
展开全部
你本身有2个直接调用print的,还有你调用了2个P1函数,这个函数中也有1个print所以输出4个
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Call P1(a, b) 中有print啊
看下面的
Private Sub P1(x As Integer, ByVal y As Integer)
Static z As Integer
x = x + z: y = x - z: z = x + y
Print x, y, z ........................此处有print语句
End Sub
看下面的
Private Sub P1(x As Integer, ByVal y As Integer)
Static z As Integer
x = x + z: y = x - z: z = x + y
Print x, y, z ........................此处有print语句
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Call P1(a, b)
Print a, b, z
Call P1(b, a)
Print a, b, z
每个语句打印一次 因此有4行
Print a, b, z
Call P1(b, a)
Print a, b, z
每个语句打印一次 因此有4行
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序运行不会出错吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询