拒绝在C中使用<=

use*_*418 1 c convention syntax

我有这种习惯在C(和许多其他语言),而不是foo <= bar我会做foo < bar + 1,不知道这甚至来自哪里...

这本身不好,还是只是非标准?我的意思是从编码和后来修改代码的上下文...我假设任何好的编译器编译它们都是相同的.

Der*_*ern 8

由于多种原因,这很糟糕:

  • 不适用于浮点数
  • 对签名数字不起作用(-2.5 <= -3是假的,但是-2.5 < -3 + 1是真的)
  • 使您的代码难以理解
  • 增加您(不必要地)创建溢出错误的机会

这是坏的非标准的.真的没有理由继续强化这个习惯 - 你只是为了以后的编码生涯而自己摔倒.


Chr*_*art 5

我个人认为不太清楚.如果foo和bar不是整数也可能是坏的; 例如,如果foo = -7且bar = -7.5,则两者将意味着不同的东西.

  • 是的,否则它们就不存在了 (2认同)