| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1061 人关注过本帖
标题:?"a">"","a"<"" 结果:.F. .F. ...
只看楼主 加入收藏
panpende
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:528
专家分:963
注 册:2009-4-27
收藏
得分:0 
谢谢qingfameng的提示,你的‘域赋值,从右向左进行’的规律表述,也许可以解释字符常量与''比较的结果。
2011-04-20 08:14
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
字符字段或变量检查空值用isblank()更方便些。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2011-04-20 08:54
xmlz
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:294
专家分:1392
注 册:2010-8-29
收藏
得分:0 
?“a”=“”中,等号应该是做比较运算,不做赋值运算的
例如?a=3会提示出错,并不会讲3赋值给a

这地方应该是:
因为你没有设定 set exact on
所以比较到右边字符结束为止,所以
"a"=""为真,理所当然地,"a">"","a"<""均不成立,结果:.F. .F.
同理,上面的等式反向不成立,当比较第一个字符时,左式就已经结束了,而右式还有
故""<"a",当然"">"a"不成立
因此 ?"">"a",""<"a"
结果为 .F. .T.
上面的两行代码都没有涉及到ascII码的比较。
因为左式结束右式还有,故左式小于右式,所以即使?""<chr(0)也会输出.T.
但当set exact on时,第一行的结果将发生改变因为"a"=""已经不成立。
2011-04-20 12:35
niu91
Rank: 2
等 级:论坛游民
帖 子:64
专家分:44
注 册:2009-7-25
收藏
得分:0 
回复 13楼 xmlz
因为你没有设定 set exact on
所以比较到右边字符结束为止,所以
"a"=""为真,理所当然地,"a">"","a"<""均不成立,结果:.F. .F.
从右往左的比较 首先遇到的都是"" 呀 为什么 "a"=""为真
2011-04-20 18:22
xmlz
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:294
专家分:1392
注 册:2010-8-29
收藏
得分:0 
遇到"",就是没有字符了,字符结束,比较完毕,已经比较过的部分相等,所以相等(实际什么都没比较)
2011-04-20 21:45
niu91
Rank: 2
等 级:论坛游民
帖 子:64
专家分:44
注 册:2009-7-25
收藏
得分:0 
回复 15楼 xmlz
那比较顺序 是从右往左还是从左往右?
2011-04-21 14:18
xmlz
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:294
专家分:1392
注 册:2010-8-29
收藏
得分:0 
两边的第n个都有字符时,右边第n个与左边第n个比
已经比较过的部分相同,左边第n个有字符,右边第n个无字符时
如果set exact off,左边=右边
如果set exact on,左边>右边
已经比较过的部分相同,左边第n个无字符,右边第n个有字符时
无论exact为on还是off,始终为 左边<右边

"a">"","a"<""
结果:.F. .F.
简单地说就是,set exact off的情况下,任意非空字符串=""
?"">"a",""<"a"
结果为 .F. .T.
简单地说就是,""<任意非空字符串

2011-04-21 14:38
panpende
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:528
专家分:963
注 册:2009-4-27
收藏
得分:0 
谢谢xmlz的指教,受益匪浅。
我的程序一贯设置 set exact on 。但是在使用含比较 字符变量='' 的子句时,确实遇到意料之外的结果。至今对 '' 怀有恐惧。
2011-04-22 08:28
快速回复:?"a">"","a"<"" 结果:.F. .F. ...
数据加载中...
 
   



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

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