A:
C语言中有以下两种写法:
if (x>y) {......}
和
if (x-y>0) {......}
请问这两种写法是不是完全等价的?
Q:
逻辑等价
但有的情况下不等价
如果x和y其中有一个是无符号int类型
且x=1,y=2
x-y>0在逻辑上是非真,但实际上会变成真
如果是那位知的朋友路过的话,请帮忙解释一下,本人不胜感谢
特别是了解计算机内部机制的,谢谢~~~~~~~~~~~~~~~~~`
A:
C语言中有以下两种写法:
if (x>y) {......}
和
if (x-y>0) {......}
请问这两种写法是不是完全等价的?
Q:
逻辑等价
但有的情况下不等价
如果x和y其中有一个是无符号int类型
且x=1,y=2
x-y>0在逻辑上是非真,但实际上会变成真
如果是那位知的朋友路过的话,请帮忙解释一下,本人不胜感谢
特别是了解计算机内部机制的,谢谢~~~~~~~~~~~~~~~~~`