哪位会vb计算机2级的,帮我看看这题答案是什么,求输出第一行,第二行,第三行是什么,我感觉答案错了

 我来答
4527573575
2013-01-26 · TA获得超过1848个赞
知道小有建树答主
回答量:916
采纳率:0%
帮助的人:962万
展开全部
vb6运行结果是1,3,1,7
追问
怎么得到的?特别是3和7
追答
你拿到vb上试一下就行了,记住在就算执行了If里的Call sub1(x),在执行完后也还是会在去执行下面的语句的,sub1中的x也会影响a的值。你大概把这个给忘了吧,展开代码是这样执行的:
Private Sub sub1(x As Integer) 'x=8
x=x Mod 3 +1 x=3
If x>1 then call sub1(x) 'call sub1(3)
x=x Mod 3 +1'此处式子是展开sub1(3)后的,x=2
If x>1 then call sub1(x) 'x=2
x=x Mod 3 + 1 'x=1(第一次输出1)
Print x '不满足if,不必call sub1(x),所以直接输出第一个x,值为1
'此时这个嵌套结构中的最内一层执行完,还要执行上一层,因为调用了2次call sub1(x),所以会有2个输出
x=x*2 +1 'x=3(第二次输出3) a=7

到这儿就执行完command1_click中的call sub1(a)了,下面是call sub1(a-1)的过程:
call sub1(a-1) '注意a=7-1=6
x=6 mod 3+1 'x=1
Print x '输出x=1
即131
不是1317,我弄错了,不好意思
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式