| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1378 人关注过本帖
标题:菜鸟请教两个简单问题
只看楼主 加入收藏
etarmani
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-1-2
收藏
得分:0 
我的想法是s="in"+space(2)
所以s="in  "
所以第一个if不符合转到
else
  if s="in"
     ?"three"
else
?"four"
所以结果不应该是four么?

2012-02-17 21:20
etarmani
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-1-2
收藏
得分:0 
我的想法是s="in"+space(2)
所以s="in  "
所以第一个if不符合转到
else
  if s="in"
     ?"three"
else
?"four"
所以结果不应该是four么?

2012-02-17 21:21
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
回复 10楼 etarmani
书上的答案是错的

坚守VFP最后的阵地
2012-02-17 21:32
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
回复 12楼 etarmani
把你的代码重写一遍。

坚守VFP最后的阵地
2012-02-17 21:34
zzzzz513
Rank: 2
等 级:禁止发言
帖 子:14
专家分:19
注 册:2012-1-21
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2012-02-18 20:26
etarmani
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-1-2
收藏
得分:0 
set exact on
s="in"+space(2)
if s="in"
if s="in"
    ?"one"
else
    ?"two"
endif
else
   if s="in"
      ?"three"
else
  ?"four"
endif
endif
return
就是这个
2012-02-18 20:49
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
回复 16楼 etarmani
什么意思

坚守VFP最后的阵地
2012-02-18 21:30
wzxc
Rank: 9Rank: 9Rank: 9
来 自:齐鲁大地
等 级:贵宾
威 望:39
帖 子:985
专家分:1296
注 册:2006-4-25
收藏
得分:0 
Visual FoxPro 中串和值的比较
Visual FoxPro 有两个测试等式的关系操作符:等号(=)操作符和双等号(==)操作符。可以使用 = 操作符来完成同类型值之间的比较,并且它适合于比较 Character、Numeric、Date 和 Logical 类型的数据。然而,当用 = 操作符比较字符表达式时,其结果可能与所预期的不完全相同。

字符表达式的比较,是从左到右逐个字符进行的,直到两个表达式中对应的字符不相等,或直到 = 操作符右边的表达式结束(当 SET EXACT 命令设置为 OFF 时),或直到两个表达式都结束(当 SET EXACT 命令为 ON 时)。

可以使用 == 操作符来完成字符或二进制数据精确比较。如果使用 == 操作符比较两个字符或二进制表达式,== 两边的表达式必须分别包含完全相同的字符或字节,包括空格和零(0)字节,才被认为相等。当使用 == 操作符比较字符串和二进制表达式时,忽略 SET EXACT 设置。更详细的信息,请参见 关系操作符。


下表展示了选定的操作符和 SET EXACT 设置如何比较的。

注意:
一个下划线表示一个空白区。
 
 比较                    带有 SET EXACT OFF 的 =    带有 SET EXACT ON 的 =    带有 SET EXACT ON 或 OFF 的 ==
"abc" = "abc"                     匹配                      匹配                           匹配
"ab" = "abc"                      不匹配                    不匹配                        不匹配
"abc" = "ab"                      匹配                      不匹配                        不匹配
"abc" = "ab_"                     不匹配                    不匹配                       不匹配
"ab" = "ab_"                      不匹配                   匹配                        不匹配
"ab_" = "ab"                     匹配                       匹配                       不匹配
"" = "ab"                         不匹配                     不匹配                      不匹配
"ab" = ""                         匹配                       不匹配                      不匹配
"__" = ""                         匹配                       匹配                        不匹配
"" = "___"                        不匹配                     匹配                         不匹配
TRIM("___") = ""                   匹配                      匹配                         匹配
"" = TRIM("___")                   匹配                      匹配                         匹配


 
set exact on
s="in"+space(2)
if s="in"
if s="in"

所以,s="in__"。"in__" 和 "in"是相等的,所以,最终结果是:one


 

认真看书学习,弄通Fox主义。
2012-02-18 21:48
etarmani
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-1-2
收藏
得分:0 
你不是让我把代码在写一遍吗???我理解错了???
2012-02-18 21:48
etarmani
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-1-2
收藏
得分:0 
回复 18楼 wzxc
还想问一下
set exact on
s="in"+space(2)
if s="in"
if s="in"
    ?"one"
else
    ?"two"
endif              第一个if s="in"不符合
else               转到这个else   
   if s="in"       但是接着又要判断if s="in"是什么意思???
      ?"three"
else
  ?"four"
endif
endif
return
2012-02-18 22:16
快速回复:菜鸟请教两个简单问题
数据加载中...
 
   



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

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