VF题目 比较经典

题目:记录名名称1电视机2计算机3电话线4电冰箱5电线GO2SCANNEXT4FORLEFT(名称,2)=“电”IFRIGHT(名称,2)=“线”LOOPENDIF??名... 题目:
记录名 名称
1 电视机
2 计算机
3 电话线
4 电冰箱
5 电线

GO 2
SCAN NEXT 4 FOR LEFT(名称,2)=“电”
IF RIGHT(名称,2)=“线”
LOOP
ENDIF
??名称
endscan

答案为什么是 电冰箱电线 ?

以下是我对此题的解释:
go 2 &&记录指针指向2
SCAN NEXT 4 FOR LEFT(名称,2)="电" &&浏览接下来4条中,第一字是电的记录
IF RIGHT(名称,2)="线"
LOOP &&loop会跳到循环之初
ENDIF&&此循环表示 如果最后一字是线 就跳过 指针向下重新浏览
??名称 &&注意这是不分行输出
endscan

满足条件的是
额···
好像只有 电冰箱吧???
最让人糊涂的是···机器运行结果是:
电话线 电冰箱 电线 !!!???????

为什么?
为什么?
为什么?
谁帮我检查检查,到底哪儿错了····
20求人,如果让我满意可以追加······
附带自建的VF表文件,借用以上的程序就可以直接运行 实践····
只求解惑!!!!
表文件好像没有上传的地方,自己建一下吧···
表很简单,麻烦了····
展开
 我来答
百度网友6b2536b
2013-09-12 · TA获得超过300个赞
知道小有建树答主
回答量:330
采纳率:0%
帮助的人:180万
展开全部
1、错在自己建立的表,字段宽度比较长,最后两个字母是空格,所以right(名称,2)返回的是空格。如果选C的话这样理解解释,名称字段的宽度为6。电线那一条记录最后两个位置是空格。所以结果是”电冰箱电线“。

2、如果想结果是”电冰箱“的话,改一句话就可以了。
IF RIGHT(alltrim(名称),2)="线"
结果是: 电冰箱
追问
如果选C的话这样理解解释,名称字段的宽度为6。电线那一条记录最后两个位置是空格。所以结果是”电冰箱电线“。
首先申明,你是对的····
不过,多余的字符宽度化成空格
难道不是在字符前,而在字符后····
能不能解释一下这个问题啊·····
追答
多余的字符宽度化成空格
难道不是在字符前,而在字符后·
我认为,这样的问题较真没什么意义,软件生成的东西就是这样的,只能接受并总结规律。电脑是不会跟人讲道理的,就算你有道理,它也不会改的,您说是吗?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式