VB简单的一道题...

来源:百度知道 编辑:UC知道 时间:2024/06/28 11:57:41
private sub Command1_click()

Dim x as integer, y as integer
x=40,y=72;call PtoP(x,y);print x ; y
end sub
public sub PtoP(byval n as integer,byval m as integer)
n=n\10+2;m=m\10+2

答案为什么是 40 72? 后面那一堆是什么意思...?

x=40,y=72;call PtoP(x,y);print x ; y中间的那个call因为是传值的,所以对xy的值没有影响,所以打印的结果仍是40 72。

代码不全,光看这些代码,答案可能是错的!

下面那堆虽然有意思,但完全没用上``完全是唬你.而且有些符号不对.
随便唬你下,然后正常打印x值和y值在屏幕上

byval 是传值,只是把值传过去了,没有改变x,y原地址的数据
改成byref,或者直接去掉(默认byref),值就会有变化

Dim x as integer, y as integer
x=40,y=72;call PtoP(x,y);print x ; y
end sub
只有这部分代码有效,所以print了40 72

因为后面的 PtoP是按值传递,所以不会改变x,y的值.