注册 登录
编程论坛 VB6论坛

Do while 的简单代码就解释,,,,

qq448531446 发布于 2013-07-03 13:50, 719 次点击
程序如下
function fun(a as integer) as integer
dim n as integer
n=1
do  while a\10>=0
n=n+1
a=a\10
loop
fun=n
end function
 调用函数时结果不正确,显示n的值溢出,当把循环条件改为 do while a>0 时结果就正确了。
我想知道 DO while a>=0  和 do while a>=0 到底有什么区别?为什么多加一个等于号就会出现编译错误呢??
求解释,,,,
4 回复
#2
九连阳2013-07-04 14:33
do while a>0    '当a=0时,循环结束;
do while a>=0    '当a=0时,循环还继续执行,直到n的值溢出,是一个死循环
#3
诺言谎言2013-07-04 17:20
do while a>0  正确 因为     当 a 的值,在 a 不大于 0 或是 a = 0 的时候, 循环就会结束, 最后输出你的值。
do while a>=0 不正确 因为   当 a 的值,在 a 的值 =0 的时候 你的 do while 进入到了 死循环 ,n 的值就会一直在加 1,无限制的循环下去。当 n 的值超出 integer的范围以后就会提示你 n 的值溢出。 integer 的范围是 -32,768 到 32,767 , n > 32767  n 的值大于了32767,也就是超出了 integer 的范围 就提示你 溢出了。
#4
qq4485314462013-07-05 18:21
谢谢了
#5
juxn0012013-07-11 12:43
学习中,新人,多指教!
1