C语言中c==d==0 与 c==d&&c==0&&d==0的区别
发布网友
发布时间:2024-09-06 03:32
我来回答
共4个回答
热心网友
时间:2024-10-22 18:36
c==d==0 是正确的表达式,
先比较 c==d, c,d 无论等于几,
只要 c,d数值一样, 就 得1, 继续同 0 比较,得 0 (假)
或者 只要 c,d数值不一样, 就 得0, 继续同 0 比较,得 1 (真)
c==d&&c==0&&d==0 也是正确的表达式,这里有 “与运算”,只有当 c 和 d 都是 0 时,3个条件才都满足, 才能得1(真),其它情况下 都得 0(假)。追问大神很专业 但别人快些 只能谢谢你了
热心网友
时间:2024-10-22 18:37
有
逻辑判断时,最好不要这么用,一般是得不到你想要的结果
因为逻辑判断时左联系的,也就是说如c==d==0
他先判断c==d再让这个结果和0来判断,这是个顺序问题
和后面那个结果可能出入很大
热心网友
时间:2024-10-22 18:37
c==d==0
系统不会报错,但是这样用是错误的。
一般采用:
c==d&&c==0&&d==0
这样用是正确的。追问为什么?
追答== 等于运算符,左结合
c==d==0相当于(c==d)==0。
计算次序:1c==d (为0,1),再2(c==d)==0,一般来说这都和程序设计者的本意相违。
我前段时间犯过这个错误,不容易看出。
热心网友
时间:2024-10-22 18:38
一般情况下在写代码别创新,有的时候你想的是对的 但不一定可以准确的用这种语言按你想的表示出来!