标题:Do while 的简单代码就解释,,,,
只看楼主
qq448531446
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-5-13
结帖率:0
 问题点数:0 回复次数:4 
Do while 的简单代码就解释,,,,
程序如下
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 到底有什么区别?为什么多加一个等于号就会出现编译错误呢??
求解释,,,,
搜索更多相关主题的帖子: function 
2013-07-03 13:50
九连阳
Rank: 2
等 级:论坛游民
帖 子:36
专家分:65
注 册:2013-7-4
得分:0 
do while a>0    '当a=0时,循环结束;
do while a>=0    '当a=0时,循环还继续执行,直到n的值溢出,是一个死循环
2013-07-04 14:33
诺言谎言
Rank: 1
等 级:新手上路
帖 子:5
专家分:3
注 册:2013-7-4
得分:0 
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 的范围 就提示你 溢出了。

热爱编程
2013-07-04 17:20
qq448531446
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-5-13
得分:0 
谢谢了
2013-07-05 18:21
juxn001
Rank: 1
等 级:新手上路
帖 子:13
专家分:5
注 册:2013-7-11
得分:0 
学习中,新人,多指教!
2013-07-11 12:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-416569-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.121343 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved