C 什么';用(x<;n | x>;n)代替(x!=n)有什么意义?

C 什么';用(x<;n | x>;n)代替(x!=n)有什么意义?,c,C,执行两次比较导致两次跳转(jl和jle)而不是执行一次比较(!=)导致一次跳转(je)有什么意义?我不是编译器专家,但我相信代码将等同于x!=n&&x!=n+1。假设为类整数类型。如果是浮点型,那么它们显然是不等价的。我知道你在问什么,盖伊:“你为什么不写x isnotequal n而不是x大于n,x小于n?”我以前在猜谜游戏中见过这种用法,如果用户猜得小于/大于n,低于/高于x的值将被删除。您的意思是xn?您的表达式不等效…“我看到很多C条件”-需要引用。你在哪里看到他们?你能举几个例子吗?他

执行两次比较导致两次跳转(jl和jle)而不是执行一次比较(!=)导致一次跳转(je)有什么意义?

我不是编译器专家,但我相信代码将等同于
x!=n&&x!=n+1
。假设为类整数类型。如果是浮点型,那么它们显然是不等价的。

我知道你在问什么,盖伊:“你为什么不写x isnotequal n而不是x大于n,x小于n?”我以前在猜谜游戏中见过这种用法,如果用户猜得小于/大于n,低于/高于x的值将被删除。

您的意思是
xn
?您的表达式不等效…“我看到很多C条件”-需要引用。你在哪里看到他们?你能举几个例子吗?他们是否在野外的开源项目中?它们是由特定的同事编写的吗?
x的数据类型是什么?
“x”的类型是什么?