bool 型怎么取反?

liuyang1943 2010-05-25 11:49:55
我bool index=1
然后 !index
结果index的值仍然为turn
不解,难道C/C++中的bool型不能这样取反吗
...全文
29344 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
sam132333 2010-11-04
  • 打赏
  • 举报
回复 1
bool变量逻辑异或TRUE就取反了
akonlbjrd 2010-05-26
  • 打赏
  • 举报
回复
[Quote=引用楼主 liuyang1943 的回复:]
我bool index=1
然后 !index
结果index的值仍然为turn
不解,难道C/C++中的bool型不能这样取反吗
[/Quote]
这样做不会改变index的值,只会改变表达式!index的值。。
nscboy 2010-05-26
  • 打赏
  • 举报
回复 3
!index是取反,没有错
index==true
则!index==false
若要改变idnex的值,则需要使用赋值方法=
index=!index
healer_kx 2010-05-25
  • 打赏
  • 举报
回复
bool类型为什么要取反呢?而且应该是逻辑NOT就OK了。
fanshunwen 2010-05-25
  • 打赏
  • 举报
回复
bool类型不是一个值好不 它只有 ture 和 flase 两个值
你 ! index 有什么用
又没有改变 index值
应该 index=!index
lylm 2010-05-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 liuyang1943 的回复:]
我bool index=1
然后 !index
结果index的值仍然为turn
不解,难道C/C++中的bool型不能这样取反吗
[/Quote]
你是不是if(index)?!index不为0,所以还是true
pengzhixi 2010-05-25
  • 打赏
  • 举报
回复
index=!index;
skyworth98 2010-05-25
  • 打赏
  • 举报
回复
0x00000001取反,结果为0xFFFFFFFE,当然还是true

[Quote=引用楼主 liuyang1943 的回复:]
我bool index=1
然后 !index
结果index的值仍然为turn
不解,难道C/C++中的bool型不能这样取反吗
[/Quote]
DaveLee001 2010-05-25
  • 打赏
  • 举报
回复
index=!index;
是正解
索隆考研 2010-05-25
  • 打赏
  • 举报
回复
你没有把取反后的值赋给index,index=!index就可以了
lirg8405 2010-05-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 pengzhixi 的回复:]
index=!index;
[/Quote]
weikaty 2010-05-25
  • 打赏
  • 举报
回复
可以啊,估计是你用错了,比如:
bool index =1;
if(!index){

这里是假的情况下,index=0
}else{
这里为真 index=1
}
C++ 完全支持,不知道你想问什么??
herman~~ 2010-05-25
  • 打赏
  • 举报
回复
二进制看下就知道了
kuruby 2010-05-25
  • 打赏
  • 举报
回复
正解已出现。

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧