一道VB题——窗体上有text1、text2两个文本框和一个命令按钮command1,编写下列程序:

窗体上有text1、text2两个文本框和一个命令按钮command1,编写下列程序:
dim y as integer
private sub command1_click()
dim x as integer
x=2
text1.text=fun2(fun1(x),y)
text2.text=fun1(x)
end sub

private function fun1(x as integer) as integer
x=x+y:y=x+y
fun1=x+y
end function
private function fun2(x as integer,y as integer) as integer
fun2=2*x+y
end function
当单击一次和单击两次命令按钮后,文本框text1和text2内的值分别是?

卷子上的答案是 (c) 10 10
58 58
这道题我怎么算也算不对,跟卷子上的答案不一样,那问朋友算出给我说下过程,谢谢!

这题其实很容易理解的,关键是要理解全局变量和局部变量的不同,还有函数参数按地址传递的作用。y是个全局变量,x是个局部变量,2个函数的参数都是按地址传递的。
第1次单击的时候,y的初值是0,x的初值是2。执行text1.text=fun2(fun1(x),y)时,先是用x作为实参调用fun1。在执行x=x+y:y=x+y后,x的值是2,y的值也是2。函数返回x+y的值4。然后再把fun1的返回值4和y作为参数调用fun2,结果是10。执行text2.text=fun1(x)时,用x作为参数调用fun1。在执行x=x+y:y=x+y后,x的值是4,y的值是6。函数返回x+y的值10。
第2次单击的时候,y的初值是6,x的初值是2。执行text1.text=fun2(fun1(x),y)时,先是用x作为实参调用fun1。在执行x=x+y:y=x+y后,x的值是8,y的值是14。函数返回x+y的值22。然后再把fun1的返回值22和y作为参数调用fun2,结果是58。执行text2.text=fun1(x)时,用x作为参数调用fun1。在执行x=x+y:y=x+y后,x的值是22,y的值是36。函数返回x+y的值58。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-10
第一个是10 text1.text=fun2(fun1(x),y) 中,经过FUN1(X)得出为4然后代入FUN2 2*4+2=10喽
第二个看不出来``
第2个回答  2013-07-10
我算出的第一问的答案是10,第二问是58

一个窗体中有两个文本框text1,text2,一个按钮command1
for i =0 to ubound(a) step 2 y=a(i)*X*X+b(i)*X+a(1+i)*X*X+b(1+i)*X next

VB悬赏100分用VB编解任意一元二次方程,有两个TEXT框,TEXT1里输入方程...
'添加窗体Form1,文本框Text1,Text2,按钮Command1,然后添加如下代码:PrivateSubCommand1_Click()Text2.Text=compuResult(Text1.Text)EndSub '根据二元一次方程的表达式直接返回其根的表达式 PrivateFunctioncompuResult(strCalcAsString)AsString Dimsa,sb,scAsString Dima,b,c,x1,x2AsSingle OnErrorResume...

如何利用VB写一个 屏幕变亮工具 按钮1 变亮 按钮2 恢复
1.在你的窗体上放置两个按钮【Command1】和【Command2】,一个文本框【Text1】还有一个滚动条VScrollBar控件【VScroll1】。2.粘贴下列代码 3.运行:用滚动条【VScroll1】上下箭头设定亮度值(向上亮度加,向下亮度减)点击【设定】按钮生效,点【还原】按钮复原。Option Explicit Private Ramp1(0 To ...

vb千克和磅的互换,编写一个程序
窗体上添加两个文本框Text1和Text2,添加一个按钮Command1,Text1输入输出千克,Text2输入输出磅,Text1输入数值时,单击Command1,在Text2中转换输出磅;Text1空白,Text2输入数值时,单击Command1,在Text1中转换输出千克。代码:Private Sub Command1_Click()If Len(Text1) > 0 Then If IsNumeric...

VB,在窗体上添加两个文本框text1和text2.要求在文本框Text中输入字符时...
Private Sub Text1_Change() If Len(Text1) > 15 Then Text2 = Mid(Text1, 16) & Text2 Text1 = Left(Text1, 15) End IfEnd Sub

...Text2、Text3和Text4,再画一个名称为Command1的命令按钮。程序...
Private Sub Command1_Click()Dim a As Single, b As Single, c As Single, S As Single, p As Single a = CSng(Text1.Text)b = CSng(Text2.Text)c = CSng(Text3.Text) '文本框中内容转换为single 类型 If Text1.Text <= 0 Or Text2.Text <= 0 Or Text3.Text <= 0 Then ...

2009年3月全国计算机二级VB上机试题内容
在考生文件夹下有一个工程文件sjt4.vbp,窗体上已经有两个文本框,名 称分别为Text1、Text2;和一个命令按钮,名称为C1,标题为"确定"; 请画两个单选按钮,名称分别为 Op1、Op2,标题分别为 "男生"、"女生";再画两个复选框,名称分别为 Ch1、 Ch2,标题分别为"体育"、 "音乐"。请编写适当的事件过程,使得在运...

求VB高手,现在有两个text文本框,有两个command按钮,在text1中输入字母...
Private Sub Command1_Click()Dim a As String Dim xuhao As Integer Dim bb As Integer a = Trim(Text1.Text)If a <> "" And Len(a) < 2 Then If Asc(a) > 96 And Asc(a) < 132 Then xuhao = Asc(a) - 96 Text2.Text = xuhao Else bb = MsgBox("你输入的不是字母",...

...窗体上添加一个标签和一个文本框以及一个命令按钮,要求文本框中只能...
按要求在窗体上添加一个标签和一个文本框以及一个命令按钮,双击命令按钮,删除所有代码,复制如下代码到程序中 Private Sub Command1_Click()If Val(Text1) Mod 2 = 0 Then Label1 = "偶数"Else Label1 = "奇数"End If End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) '判字符...

VB储存和显示问题,两个(编辑框)TEXT文本,一个显示按钮,一个储存...
Close 1 Text1 = ""Text2 = ""End Sub Private Sub Command2_Click()Open "c:\\1.txt" For Input As #1 Dim x As String x = StrConv(InputB(LOF(1), 1), vbUnicode)Text1 = Split(x, "2@@$$")(0)Text2 = Split(x, "2@@$$")(1)Close #1 End Sub Private Sub Form_...

相似回答