问题
单项选择题
窗体上有一个Text1文本框,一个Command1命令按钮,并有以下程序:
Private Sub Command1_Click()
Dim n
If Text1. Text < > "123456" Then
n=n+1
Print "口令输入错误" & n & "次"
End If
End Sub
希望程序运行时得到左图所示的效果,即:输入口令,单击“确认口令”命令按钮,若输入的口令不是“123456”,则在窗体上显示输入错误口令的次数。但上面的程序实际显示的是右图所示的效果,程序需要修改。下面修改方案中正确的是( )。
A) 在Dim n语句的下面添加一句:n=0
B) 把Print "口令输入错误" &n& "次" 改为Print "口令输入错误"+n+ "次"
C) 把Print "口令输入错误" &n& "次" 改为Print "口令输入错误"& Str(n)& "次"
D) 把Dim n改为Static n
答案
参考答案:D
解析: 本题考查的是动态变量与静态变量。原来的程序中无法使变量n的值保持到下一次的使用,只有D选项符合要求,将n定义为静态局部变量,在程序执行到该对象的声明处时被首次初始化,每次执行后n的值都会被保存到内存中,所以答案D是正确的;而A选项只是对n赋初值,所以A选项没有意义;B选项和C选项都没有达到改进的目的。