Private Sub Command1_Click()
Dim a()
a = Array(7, 8, 9, 10)
For k = 0 To 2 Step 0.5
s = s + a(k)
Next k
Print s
End Sub等于多少? 我觉得应该是39啊
Dim a()
a = Array(7, 8, 9, 10)
For k = 0 To 2 Step 0.5
s = s + a(k)
Next k
Print s
End Sub等于多少? 我觉得应该是39啊
解决方案 »
- 这种XML怎么读?
- VB如何解析8583包
- VB.NET怎样打开text文件并显示到文本框里
- 虾米在此请教各位大虾一个人工智能以及算法的问题(急上加急)有劳各位大虾
- 如何读出表中某个字段的所有属性
- 有关WINSOCK控件的初级问提?请个位高手来看一下!
- 报错!run-time error '-2147189571(80047cbd)'未启用创建功能。马上给分
- 谁有WINGATE 4.4.2 的用户名和密码?
- sql语句问题,或者说是adodc控件中的命令文本中的sql语句问题
- 在VB里总样获得程序的实例句柄(Hinstance)??
- 谁有关于VB三层结构的例子??谢谢!!
- 求助 问个很菜的问题!
Private Sub Command1_Click()
Dim a()
a = Array(7, 8, 9, 10)
For k = 0 To 2 Step 0.5
s = s + a(k)
times = times + 1
Debug.Print "times=" & times
Debug.Print "k=" & k
Debug.Print "a(k)=" & a(k)
Debug.Print "s=" & s
Debug.Print ""
Next k
Print s
End Sub'调试输出的结果是:
times=1
k=0
a(k)=7
s=7times=2
k=.5
a(k)=7
s=14times=3
k=1
a(k)=8
s=22times=4
k=1.5
a(k)=9
s=31times=5
k=2
a(k)=9
s=40为什么您觉得应该是39啊?
是应该等于40
那为什么k=1.5时,a(k)=9呢?
也就是CInt和Fix与Int方法不同
CInt对.5的进位方法是向偶数进位
所以cint(0.5)=0 cint(1.5)=2
它的执行过程如下:
k, a(k), s
0, 7, 7
0.5, 7, 14
1, 8, 22
1.5, 9, 31
2, 9, 40s=40