标题:请教循环问题?(请帮忙)
只看楼主
cosixu
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2004-10-11
 问题点数:0 回复次数:2 
请教循环问题?(请帮忙)
private sub form_click()
c=4
d=inputbox("请输入1个数")
d=val(d)
do while d>0
    if  d>c then
        c=c+1
    end if
    d=inputbox("请输入1个数")
loop
 print c+d
end sub
程序运行后单击窗体,如果在输入对话框中依次输入1,2,3,4,5,6,7,8,9,0运行结果为什么是12
第一次判数if语句1>4为假跳出if 语句,第二次判断if 语句2>4的时候为什么执行c=c+1
第一次为什么不执行c=c+1呀?因为1>4和2>4都为假呀,为什么第一次不加,而第二次加呢?请高手解释一下!
谢了!!!!
搜索更多相关主题的帖子: private 对话框 
2005-04-17 10:22
loveve
Rank: 4
等 级:业余侠客
威 望:1
帖 子:452
专家分:213
注 册:2005-4-11
得分:0 
楼主在第二条d=inputbox("请输入1个数")语句没有加VAL函数,所得的D不是数值,而是字符.经过转换后所得的什不是你自己想像中的2,3等等.故没有达到预期效果,只要加一个VAL就行.

五月的雪
2005-04-17 12:18
loveve
Rank: 4
等 级:业余侠客
威 望:1
帖 子:452
专家分:213
注 册:2005-4-11
得分:0 
private sub form_click() c=4 d=inputbox("请输入1个数") '这两行代码得到的d是数值,就是你用的数值1 d=val(d) do while d>0 if d>c then c=c+1 end if d=inputbox("请输入1个数")   ‘这里的d 由于没有用函数转换,得到的是字符,就是你循环时的2、3……,它们不是         数值了,当它们与c比较时,会转换成ascii码比较。应改为d=val(input("请输入1数“)) loop print c+d end

五月的雪
2005-04-18 19:44



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




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

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