vb 题目求解释详细谢谢!!

xcase=1t=inputbox("inputvalueoft:")selectcasetcaset>0y=xcase+1caset=0y=xcase+2caseels... xcase=1
t=inputbox("input value of t:")
select case t
case t>0
y=xcase+1
case t=0
y=xcase+2
case else
y=xcase+3
end select
print xcase;y
运行时从键盘输入1 答案是1 4
为什么?还有题目里的case else 代表什么意思?小于0?还是其他?
展开
 我来答
网海1书生
科技发烧友

2013-06-05 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12310 获赞数:26224

向TA提问 私信TA
展开全部
这是因为你把select分支结构理解错了,所以无法获得预期结果。

改成这样:
xcase=1
t=val(inputbox("input value of t:"))
select case t
case is>0
y=xcase+1
case 0
y=xcase+2
case else
y=xcase+3
end select
print xcase;y

或者:
xcase=1
t=val(inputbox("input value of t:"))
if t>0 then
y=xcase+1
elseif t=0 then
y=xcase+2
else
y=xcase+3
end if
print xcase;y

推荐你用第二种,因为在此种场合用第二种才是最合理的。
更多追问追答
追问
诶,你没明白,这是题目怎么会错,我就是问为什么输入1答案是 1 4为什么执行了case eles?懂?我表达这么垃圾吗
追答
呵呵,题目就是错了
select case t
case t>0
这个就是错了,还有case t=0也是错的,所以就执行case else后面的语句即y=xcase+3,因此输入1就变成4了。

case else的意思就是前面的条件都不成立的时候就执行case else后面的语句。
你的表达不垃圾,我也一眼看出你的意思了,但是代码本身有错你让我硬说它是对的么?
select case结构的正确用法是:
select Case t
case 1
......
case 2,3,4
......
case 5 to 7
......
case is > 8
......
case else
end select
以上这些case后面表达式用法都是对的,但是
select Case t
case t=0
......
case t>0
......
case t<0
......
case else

end select
这样就是错误的!当然程序本身不会出错,但是除case else外的其他分支选项都不会被选择的!
信不信由你了,难道我10多年工作经验的VB程序员对这样的初级代码还会阴沟翻船?

当然,也不排除你的老师故意出这样的题目,好让你们加深对select case结构用法的认识。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式