+ -
当前位置:首页 → 问答吧 → 下面代码为什么输入x=0时,输出y=1??高人指点。

下面代码为什么输入x=0时,输出y=1??高人指点。

时间:2011-07-29

来源:互联网

Private Sub Command1_Click()
Dim x As Long
Dim y As Long
x = Val(Text1.Text)

Select Case x
Case x < 0
  y = x + 1
Case 0 To 10

  y = x * x - 5
Case x > 10
  y = x * x * x
End Select
Text2.Text = Str(y)
   
End Sub

作者: QQ472152323   发布时间: 2011-07-29

select case x
case 0
case 1 to 10
case else
end select

如果你将case 0改成case x<0 则将x<0作为整体判断,当x=0时,x<0的值为false,即为0,结束select,y=x+1...=1

所以用的时候一定要注意,你可以用
if then
elseif then 
else
end if语句代替这样的select语句

作者: xiaolinyouni   发布时间: 2011-07-29

select case使用方法不对

正确的用法如下:
VB code

Private Sub Command1_Click()
Dim x As Long
Dim y As Long
x = Val(Text1.Text)

Select Case x
Case Is < 0
  y = x + 1
Case 0 To 10

  y = x * x - 5
Case Is > 10
  y = x * x * x
End Select
Text2.Text = Str(y)
   
End Sub


作者: chinaboyzyq   发布时间: 2011-07-29

猴哥,你就不能不来给我扫盲,你怎么知道我的基础弱

作者: xiaolinyouni   发布时间: 2011-07-29