注册 登录
编程论坛 VB6论坛

编绎错误: 类型-声明字符与声明的数据类型不符合。请教大仙,错在那里

音符2128 发布于 2014-07-15 20:34, 2984 次点击
Private Sub Form_Load()
   Dim a As Single, b As Single, c As Single
   Dim d As Single, X1 As Single, X2 As Single
   
   Dim q As Single, p As Single
   
   a = Val(InputBox("请输入参数a的值"))
   b = Val(InputBox("请输入参数b的值"))
   c = Val(InputBox("请输入参数c的值"))
   
   If a = 0 Then
       Print "输入参数不是二次方程!"
   Else
      d = b * b - 4 * a * c
      q = -b / (2 * a)
      If d = 0 Then
           Print " 方程有两个相等实数根!" + Chr(13)
           Print "X1=X2=" & q
      ElseIf d > 0 Then
        X1 = (-b + Sqr(d)) / (2 * a)
        X2 = (-b - Sqr(d)) / (2 * a)
        Print "方程有两个不相等实数根" + Chr(13)
        Print "X1=" & X1
        Print Chr(13)
        Print "X2=" & X2
    Else
        p = Sqr(-d) / (2 * a)
        Print "方程有两个共轭复数根" + Chr(13)
        Print "X1" & q&; "+" & p&; "i"
        Print "X2" & q&; "-" & p&; "i"
           
           End If
   End If
End Sub
5 回复
#2
风吹过b2014-07-16 08:13
Print "X1" & q&; "+" & p&; "i"
        Print "X2" & q&; "-" & p&; "i"

是忘了空格了,并且多打了 分号,还是什么?
#3
Ez330阿牛2014-07-16 19:05
q& 这个 & 跟变量连在一起表明这个变量是 long 型,而你声明的是 Single 你说会不会报错呢
#4
音符21282014-07-16 19:29
谢谢
#5
vbvcr512014-07-17 07:34
Dim a As Single, b As Single, c As Single,这声明语句写的太累了吧!
可这样写的。Dim a , b , c As Single

#6
风吹过b2014-07-17 18:09
回复 5 楼 vbvcr51
不能这样写的。

VB规定每个变量要明确指明类型,未指明的一律是 变体类型。

你这样定义变量,除最后一个外,其它全是变体类型了。
1