VB 数据类型问题

设计一个VB程序,界面如图3-2-11所示,功能是输入两个数值,单击“比较”按钮,在标签Label3中显示“>”、“<”、“=”其中一个符号。运行程序时出现图3-2-12所示的出错信息。(类型不匹配)

Private Sub Command1_Click()
Dim x As Single, y As Single, cp As String
x = Val(Text1.Text)
y = Val(Text2.Text)
If x > y Then
cp = ">"
ElseIf x < y Then
cp = "<"
Else
cp = "="
End If
Label3.Caption = cp
End Sub
在下列关于出错原因的叙述中,正确的是

(A)标签Label3对象不拥有Caption属性

(B)cp不能作为VB变量名

(C)Str(x)不是VB的标准函数

(D)函数Str(x)要求参数x的数据类型为数值型,而变量cp的数据类型是字符串型。

为什么答案是D。str(x)在代码中没有出现啊?
还有 大于号 是属于字符串还是数值还是都可以。

第1个回答  2013-09-02
第一,上机运行可以发现上述代码没有问题,四个答案风马牛不相及。所考内容实际上是一个脑筋急转弯问题,考察学生对基础知识的掌握。
第二,正确答案是D。
我们来分析一下:
(A)标签Label3对象不拥有Caption属性,错误。因为Label3对象拥有Caption属性。
(B)cp不能作为VB变量名,错误。因为cp符合VB变量命名规则,也不是保留字。
(C)Str(x)不是VB的标准函数,错误。Str(x)当然是VB的标准函数。
(D)函数Str(x)要求参数x的数据类型为数值型,而变量cp的数据类型是字符串型。正确,cp As String。
第2个回答  2013-08-23
是啊,str(x)在代码中没有出现啊?
">"是关系运算符,可以用户于比较两个字符串,也可以用户于比较两个数值追问

那为什么答案是D?

追答

因为ABC都是错的啊

第3个回答  2013-09-01
在这段语句中,大于号是作为字符的形式付给了变量,只要是双引号里面的东西一般都是字符或字符串,除过特殊符号
第4个回答  2020-02-17
Rnd的取数范围在0和1之间,是小数,你试着把a和b都设成single再运行下
另外为了保证每次运行的结果的不同,在a
=
Rnd前加语句Randomize