access二级计算机题目:
在窗体中添加一个命令按钮,名称为command1,然后编写如下程序:PrivateSubS(ByValpAsInteger)p=p*2EndSubPrivateSubCo...
在窗体中添加一个命令按钮,名称为command1,然后编写如下程序:
Private Sub S (ByVal p As Integer)
p=p*2
End Sub
Private Sub Command1__Click()
Dim i As Integer
i=3
call s( i )
If i>4 Then i=i^2
MsgBox i
End Sub
窗体打开运行后,单击命令按钮,则消息框的输出结果为——
答案是3,想知道怎么求出来的,越详细越好,谢谢啦~~ 展开
Private Sub S (ByVal p As Integer)
p=p*2
End Sub
Private Sub Command1__Click()
Dim i As Integer
i=3
call s( i )
If i>4 Then i=i^2
MsgBox i
End Sub
窗体打开运行后,单击命令按钮,则消息框的输出结果为——
答案是3,想知道怎么求出来的,越详细越好,谢谢啦~~ 展开
1个回答
展开全部
是这样的,数学学得不好,所以把结果算错了
是这样的,点击按纽
i=3
执行 S过程,代入i
s过程,p=i
p=i*2 也就是p=3*2=6 执行完S过程
继续执行按纽事件
如果I>4 则I=I的2次幂
弹出消息框I的结果(因为i没有变化过,还是3,所以i=3)
结束按纽事件
是这样的,点击按纽
i=3
执行 S过程,代入i
s过程,p=i
p=i*2 也就是p=3*2=6 执行完S过程
继续执行按纽事件
如果I>4 则I=I的2次幂
弹出消息框I的结果(因为i没有变化过,还是3,所以i=3)
结束按纽事件
追问
call s( i 4意思是执行S过程是吧?前面都看懂了,但If i>4......这里i到底是前面的i=3呢,还是执行s后的6呢?为什么不是36呀?这里if 引导的到底是什么意思?求高人继续讲解,谢谢啦
追答
call s( i)是执行S过程,因为S过程并不能返回函数,所以i还是=3,如果要返回函数,首先需将S过程改为 Private function S(ByVal p As Integer) as integer类型,并且还要将 call s( i ) 这句代码改为 i=s( i ) 才行,这样i才能=6
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询