CNDEV
CNDEV.ORG
当前在线
论坛
CBD
程序员情感CBD
程序员见面交流会
CBD开发区
Java/J2ME
.NET/C#
数据库
Delphi/BCB
Visual C
其它
修真养身
中国象棋
纪念日
谈钱太俗,还是投机吧
听音乐
iCosta
资源共享
一隅
好文共赏
看电影看美剧
待定
狗屎
雪域召唤
工作流
专业显摆区
语录
情感
批评与自我批评
爱情故事
发牢骚
看三点区
游戏
CNDEV-CS/WOW
浩宇长空
生活
家有XPH
我爱学英语
美食天地ORG
半调子体育迷
观澳园友邻
搞笑奇文
拍照片
我读书我存在
论坛系统
超级垃圾站
系统建议及BUG
系统测试
中国开发网
: 论坛:
程序员情感CBD
: 贴子 100485
李颖
: 当入口参数等于2的时候,第一个判断会失败,就进入第二个了
[阅读: 631] 2005-02-21 16:32:49
<空>
相关信息:
看到一段代码
(157字)
(
李颖
[754]
2005-02-21 04:35
)
管它呢,留给编译器优化去吧
(空) (
Fish
[585]
2005-02-21 04:59
)
。。。
(空) (
李颖
[504]
2005-02-21 05:01
)
它的问题是先判bool变量==true然后又先判是否==2
(9字)
(
haitao
[648]
2005-02-21 08:41
)
应该不会出错吧? 2 可能也算true
(空) (
ninja
[574]
2005-02-21 08:44
)
else....
(空) (
Miracle
[528]
2005-02-21 08:51
)
VC的BOOL就是整数,常数TRUE=1,FALSE=0,都是程序中定义的,不是语言内部的
(34字)
(
李颖
[1295]
2005-02-21 13:24
)
日,我一直以为VC里面非零值就是True
(空) (
Miracle
[558]
2005-02-22 01:54
)
C++有内部数据类型 bool 有两个值 true, false(注意,这个是小写的)
(空) (
bjwf
[1836]
2005-02-22 02:17
)
呵呵,区分大小写就这个好处
(10字)
(
Miracle
[578]
2005-02-22 02:46
)
if(xxx),对所有的非零值都会成功,if(xxx == TRUE)就等价于if(xxx == 1)
(空) (
李颖
[610]
2005-02-22 02:45
)
打倒
(空) (
Miracle
[493]
2005-02-22 02:47
)
招我去吧。
(空) (
xiaolongren
[536]
2005-02-21 07:47
)
可能为了兼容以前的代码而不想改BOOL类型为整形(其实就是)之类的?不过还是不太好。
(空) (
Yxd
[644]
2005-02-21 09:03
)
反正我觉得比较有创意
(空) (
李颖
[584]
2005-02-21 13:26
)
我估计原因是
(45字)
(
李颖
[625]
2005-02-21 13:38
)
else if不会被执行的吧
(空) (
小东
[726]
2005-02-21 13:46
)
会执行的
(69字)
(
李颖
[624]
2005-02-21 13:48
)
我怎么记得,只要一个条件满足了,那么这个块的后续代码就不会继续执行了
(9字)
(
小东
[588]
2005-02-21 15:08
)
if(bRun == TRUE) 和 if(bRun) 的概念是不一样的。在一些资料上建议,尽量使用 if(bRun) 来判断真假,这是有道理的。
(空) (
没脾气2x
[538]
2005-02-21 15:17
)
或者说 if(bRun==TRUE) 与 if(bRun!=FALSE) 并不等效
(空) (
没脾气2x
[536]
2005-02-21 15:33
)
这个是和TRUE的定义有关吧
(414字)
(
小东
[571]
2005-02-21 15:48
)
如果 bRun == 2 就是不一样的效果了。
(12字)
(
没脾气2x
[562]
2005-02-21 16:27
)
这个
(99字)
(
没脾气2x
[553]
2005-02-21 16:30
)
有两个可能:
(223字)
(
没脾气2x
[672]
2005-02-21 16:38
)
当入口参数等于2的时候,第一个判断会失败,就进入第二个了
(空) (
李颖
[630]
2005-02-21 16:32
)
看来李大湿的确不玩C/C++
(118字)
(
holly
[546]
2005-02-22 01:50
)
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\include\afx.h
(36字)
(
李颖
[1451]
2005-02-22 01:56
)
就算 #define TRUE (!FALSE)
(92字)
(
李颖
[759]
2005-02-22 01:58
)
不用分析了,试一下不就知道了。。。不过各种编译器可能会有差别
(空) (
MaoMao
[601]
2005-02-22 02:00
)
这点上是你错了。。。看看!的定义。。。
(119字)
(
MaoMao
[580]
2005-02-22 02:03
)
算了,我也有点糊涂了。。。争论这个问题好像没有什么意义。。。
(空) (
MaoMao
[549]
2005-02-22 02:05
)
如你所说,那也只是TRUE值的定义不同而已,if中的==判断还是同样的逻辑
(空) (
李颖
[644]
2005-02-22 02:27
)
赫赫,我是说你对!的理解有问题。。。
(空) (
MaoMao
[527]
2005-02-22 02:39
)
是的是的,这个俺承认
(空) (
李颖
[522]
2005-02-22 02:42
)
要较真? 拜托先把 ! 跟 ~ 的差别搞搞清楚
(空) (
holly
[561]
2005-02-22 02:18
)
当然 !FALSE 是我记错了
(空) (
holly
[542]
2005-02-22 02:26
)
不明白你的意思,请指教
(空) (
李颖
[514]
2005-02-22 02:31
)
! 是逻辑操作, ~ 才是位操作
(33字)
(
holly
[522]
2005-02-22 02:44
)
然后呢,“只要不是 0 的都满足 if ( == TRUE ) 的, 所以后面的 == 2 永远不可能执行到 ”是如何推导出来的?
(117字)
(
李颖
[663]
2005-02-22 02:48
)
当然是成立的.
(34字)
(
holly
[512]
2005-02-22 03:09
)
本来想写 ~0 的
(空) (
holly
[516]
2005-02-22 03:10
)
C的基本语法
(133字)
(
李颖
[732]
2005-02-22 03:14
)
不信拉倒.
(6字)
(
holly
[505]
2005-02-22 03:17
)
你讲明白其中的道理,再给点证据出来,我就信
(空) (
李颖
[487]
2005-02-22 03:24
)
OK.
(143字)
(
holly
[567]
2005-02-22 03:29
)
加了,结果一样,要不要截图给你看?
(293字)
(
李颖
[536]
2005-02-22 03:32
)
算了, 还是那句话
(4字)
(
holly
[455]
2005-02-22 03:35
)
我很想信你,你写段程序证明给我看看
(空) (
李颖
[616]
2005-02-22 04:11
)
如果这样,2==1 也成了?
(49字)
(
haitao
[535]
2005-02-22 04:11
)
事实证明
(17字)
(
玉楼
[463]
2005-02-22 02:13
)
试一下不就知道了
(381字)
(
玉楼
[593]
2005-02-22 02:15
)
不是吧,就按你说的TRUE也不可能代表一个范围的值吧,还是只能是一个值。
(空) (
Yxd
[572]
2005-02-22 02:30
)
原来我的想法是对的,holly救了我一命,打倒李老湿!
(空) (
Miracle
[461]
2005-02-22 02:47
)
你试验一下吧
(214字)
(
李颖
[555]
2005-02-22 02:55
)
写错了一点
(219字)
(
李颖
[518]
2005-02-22 02:56
)
我C++不熟,刚装了个VC++.NET,凑了这么个例子,不知道对不对
(474字)
(
Miracle
[610]
2005-02-22 03:51
)
你可能要通过参数传近来才行。。。bool bRun = 2;可能被编译成bool bRun =TRUE
(空) (
MaoMao
[601]
2005-02-22 03:53
)
我这样写,还是一样
(419字)
(
Miracle
[561]
2005-02-22 03:56
)
最后改成这样,结果一样
(496字)
(
Miracle
[503]
2005-02-22 03:59
)
注意,你的bool是小写的,改成BOOL看看
(空) (
李颖
[469]
2005-02-22 04:10
)
windef.h
(33字)
(
李颖
[567]
2005-02-22 04:12
)
继续
(126字)
(
李颖
[531]
2005-02-22 04:13
)
哦,这样就对了
(空) (
Miracle
[519]
2005-02-22 04:18
)
哦,我debug了一下,发现还是被强制转换成1了。。。
(空) (
MaoMao
[545]
2005-02-22 04:09
)
关键是米老师写成bool了
(7字)
(
李颖
[504]
2005-02-22 04:18
)
嘿嘿,8好意思,不知道BOOL定义在哪里。打倒我自己
(空) (
Miracle
[665]
2005-02-22 04:19
)
BOOL定义所在的h文件应该会默认地include进来的,只管用就行了
(空) (
李颖
[815]
2005-02-22 04:25
)
早期的代码,BOOL是int的typedef吧,bool是后来才有的吧
(73字)
(
小东
[749]
2005-02-21 13:46
)
欢迎光临本社区,您还没有登录,不能发贴子。请在
这里登录