?“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"=""已经不成立。