设为首页收藏本站

 找回密码
 注册
查看: 2030|回复: 3
打印 上一主题 下一主题

错误逻辑引发的思考 [复制链接]

Rank: 4

精华
0
UID
50057
积分
304
帖子
175
主题
17
阅读权限
50
注册时间
2011-6-27
最后登录
2015-1-4
跳转到指定楼层
1#
发表于 2012-4-16 19:47:51 |只看该作者 |倒序浏览
最初的设了一个判断语句 if((con1) or (con2))  .....
后来突然想到一个思路 没有仔细思考逻辑关系就加了一个 if ((con3) && ((con1) or (con2)) ).....
现在出现的问题是当con3=false的时候 后面是返回是true    代码也往下执行了
百思不得起解  求教各位大侠

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
2#
发表于 2012-4-17 09:39:05 |只看该作者
请问你用的是最新版本吗?
在4.2.5中,用以下代码测试,证明无上述问题
  1. Vars
  2.         Bool a;
  3.         Bool b;
  4.         Bool cc;
  5.         Bool dd;
  6.         Bool e;
  7. Begin
  8.         a=False;
  9.         b=True;
  10.         cc = True;
  11.         dd = a && (b || cc);
  12.         Commentary("dd = "+IIFString(dd,"True","False"));
  13. End
复制代码

使用道具 举报

Rank: 4

精华
0
UID
50057
积分
304
帖子
175
主题
17
阅读权限
50
注册时间
2011-6-27
最后登录
2015-1-4
3#
发表于 2012-4-17 10:44:01 |只看该作者
lh948 发表于 2012-4-17 09:39
请问你用的是最新版本吗?
在4.2.5中,用以下代码测试,证明无上述问题

谢谢管理员及时回复

我是用的是4.2.5版 我的情况是b cc 不会同时为true;  a的判断 用了“!=” 但是用括号括在里面了。确实问题很奇怪  昨天我把代码修正了一下 把判断多分了一层写 就没有问题了

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
4#
发表于 2012-4-17 14:22:38 |只看该作者
ggyyff 发表于 2012-4-17 10:44
谢谢管理员及时回复

我是用的是4.2.5版 我的情况是b cc 不会同时为true;  a的判断 用了“!=” 但是用括 ...

您说的情况我也试过,没有问题的

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-28 04:25

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部