我看到一篇文章提到了!0的结果是依赖于编译器的.结果可以是1或FF或FFFF,依此类推.
至于C99标准6.5.3.3一元算术运算符,
逻辑否定运算符的结果!如果其操作数的值比较不等于0则为0;如果其操作数的值比较等于0则为1.结果的类型为int.表达式!E等价于(0 == E).
它真的是编译器依赖的吗?
c c99 negation
c ×1
c99 ×1
negation ×1