永发信息网

vb编程 Call q(1,i):Call q(2,j):Call q(3,k):

答案:1  悬赏:40  手机版
解决时间 2021-08-13 08:08
vb编程 Call q(1,i):Call q(2,j):Call q(3,k):
Dim i As Integer,j As Integer,k As Integer,h As Integer
Private Sub Form_click()
i = 0:j = 1:k = 2
Call q(1,i):Print i; j; k
Call q(2,j):Print i; j; k
Call q(3,k):Print i; j; k
End Sub
Private Sub p(i)
i = i + 1:Print i; j; k
End Sub
Private Sub q(ByVal h,j)
i = j
If h = 0 Then
Call p(j)
Else
If h = 1 Then Call p(i) Else j = j + 1
End If
End Sub
Call q(1,i):Call q(2,j):Call q(3,k):怎样传递的?
还有形参h对应的实参是什么,为什么又会有i 呢
最佳答案

Call q(1, i): Call q(2, j): Call q(3, k): 这些是调用子程序
若变量前有byval就是值传递,比如Call q(1, i).i=0,即把1和0分别赋给子程序中的h,j.
形参h对应的实参是在调用的时候第一个传入的值.比如:Call q(2, j)这里2是第一个传入的数,所以就是形参h对应的实参.再比如Call q(3, k).这里3是第一个传入的数,所以3就是h的实参.
这个代码是利用随着变量i 的改变来实现输出各组不同的数.应该是测试什么东西用的.
再问: 这个和二维数组有什么关系吗? 我看到书上输入一个3行5列的二维数组是用dim a(3,5)as single的,然后这个和 dim a(1 to 3 ,1 to 5)有什么区别吗?
再答: 这个和二维数组没关系,调用过程的时候可以设置多个值进行传递。 这个在定义的时候可以设置。比如:Private Sub q(ByVal h),这时候你调用过程的时候就只能这样调用Call q(一个数字或一个变量),括号里只能填一个值。 所以,传递的参数的个数和数组的维数没有关系。只是他们之间定义的格式类似而已。
再问: 比如:Call q(2, j)这里2是第一个传入的数,所以就是形参h对应的实参。 h=2的话下面这步不是做不了了 Private Sub q(ByVal h, j) i = j If h = 0 Then Call p(j) Else If h = 1 Then Call p(i) Else j = j + 1 End If End Sub
再答: 事实上实际过程就是如此。Call q(2, j),在过程里h=2,j=1,i=j=1。经判断后什么也不做。直接输出i,j,k。上述程序只有Call q(1, i)的时候,过程中的判断才成立,即h=1。后面2个调用的过程都是直接过了判断并输出。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
地下城副职业是
我问的是腾讯无线业务管理别给我转走了
七雄争霸游戏中怎样建造第一个分城?
我不喜欢黄金布布。
吴俊余的真实QQ多少啊?
诺基亚5230手机的问题
西塞山区黄石巧手修脚怎么去啊,谁知道地址啊
p蛟王人物包
关于家风家训的古诗词,关于家风的古诗
难题一道,帮个忙
为什么睡觉总是做梦呢?
派出所述职述廉报告,派出所所长任中审计述职
1989年农历12月22日出生是属于什么星座啊
为什么现在的女生更注重金钱呢? 为什么现在
狗狗还能吃什么当主食,狗狗的主食除了狗粮还
推荐资讯
有没有一种爱情中间不夹杂猜疑的感情?所谓的
老人身体差吃什么好
找一曲钢琴曲
形容恐怖气氛的句子,营造恐怖的气氛环境描写
求言情穿越小说
吃什么食物可以补气血,女人吃什么补气血
如何让附近的人看到我,qq怎样让附近的人别再
废液中肯定含有啥.
伍家岗区宜昌市第十五中学(西南门)我想知道这
石鼓区衡阳育婴坊(常胜路)在什么地方啊,我要
问道120王者空号最少能卖多少???
第一次微商开场白台词,做微商,千金凝胶,吸
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?