第八十六题!
vb吧
全部回复
仅看楼主
level 3
这道题,答案是18 30
主要有两个问题
一是m n为什么会随着变化
二是m n什么时候不随着变化
2022年02月13日 11点02分 1
level 3
1
2022年02月13日 12点02分 2
level 3
1
2022年02月13日 12点02分 3
level 3
1
2022年02月13日 12点02分 4
level 3
求助
2022年02月13日 12点02分 5
level 3
1
2022年02月13日 12点02分 6
level 3
1
2022年02月13日 12点02分 7
level 3
1
2022年02月13日 12点02分 8
level 3
3
2022年02月13日 12点02分 9
level 3
5
2022年02月13日 12点02分 10
level 3
求助
2022年02月13日 12点02分 11
level 3
有没有人帮帮我呀
2022年02月13日 12点02分 12
level 7
你可以看下自定义函数介绍
2022年02月13日 12点02分 13
level 15
这是表达式计算当中一个坑人的地方,就是实际的运算顺序和表达式显示的顺序可能并不一致
按照正常理解,应该先取M和N的值相加,然后再加上Fun1(M,N)的值,这样就应该使用M和N改变之前的值,计算完之后才改变它们的值,这样结果应该是1+2+9=12
而实际上,这里是先调用了函数Fun1,所以M和N的值先发生了变化,然后才计算了其余的加法部分,这样M和N分别变成了3和6,最终结果则是18
2022年02月13日 13点02分 14
这样啊,谢谢
2022年02月13日 15点02分
level 9
这实际上是因为VB默认是按地址传递的,在第一次调用Fun1函数后,x,y的值变化了,再把保存这个值的地址传递给M,N,这样M,N的值也就变了。你可以按值传递就不会引起M,N的值变化了,加关键字 ByVal。用这个 Private Function Fun1(ByVal x As Integer, ByVal y As Integer) 定义Fun1函数。
2022年02月13日 15点02分 15
1 2 尾页