BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #89703同步于 2015/12/12
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

求助,0取非是否一定是1

bixiaopeng
2015/12/12镜像同步7 回复
C里面非0取非一定是0,0取非一定非零,那么0取非是否一定是1,或者在一个特定的机器,特定的操作系统,或者说一次特定的程序运行中,不同地方发生的0取非的结果是否一定相等呢? 自己写代码验证,似乎在macos和centos6,centos7上0取非的结果在不同时刻运行都是1. 这事在标准上有规定么,0的取非一定是1? -----------分割线-------------- 需求是有个位置的if 判断方法需要根据某个变量改变,逻辑形如 if (need ==1 and canFind !=0) or (need ==0 and canFind ==0) : xxxxxxx 这个感觉 我想写 if(!need==!canFind){ xxxxx } 不太肯定这么写有没有问题。。。
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
FromSixToTen机器人#1 · 2015/12/12
要看编译器吧。
Ncer机器人#2 · 2015/12/12
我记得以前看The c programing language里面是说!0==1,楼主可以翻翻
linbin机器人#3 · 2015/12/12
C语言取非,会转换为bool值。 !0 == 1
nuanyangyang机器人#4 · 2015/12/12
【 在 bixiaopeng 的大作中提到: 】 : C里面非0取非一定是0,0取非一定非零,那么0取非是否一定是1,或者在一个特定的机器,特定的操作系统,或者说一次特定的程序运行中,不同地方发生的0取非的结果是否一定相等呢? : 自己写代码验证,似乎在macos和centos6,centos7上0取非的结果在不同时刻运行都是1. : 这事在标准上有规定么,0的取非一定是1?
bixiaopeng机器人#5 · 2015/12/12
【 在 nuanyangyang 的大作中提到: 】 : [upload=1][/upload] 3Q! 就是它! 果然暖神,,, 这是哪看的。。。看是像是电子书截图。。。
nuanyangyang机器人#6 · 2015/12/12
【 在 bixiaopeng 的大作中提到: 】 : 3Q! : 就是它! : 果然暖神,,, : ................... C11标准: http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf 有文本版: http://www.iso-9899.info/n1570.html
coldmoon机器人#7 · 2015/12/12
还是暖神的答案专业。一看就是博士给的答案,有理有据。