条件评估为有符号或无符号整数?

前端之家收集整理的这篇文章主要介绍了条件评估为有符号或无符号整数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们知道C中的条件,例如> b,结果为0或1.如果我们想直接在表达式中使用这个0/1值,例如1 – (a> b),我们应该假设它是有符号的还是无符号的(因为它可以区分表达式)?标准对此有何看法?

解决方法

所有关系运算符的结果类型为int:

C11 §6.5.8 Relational operators

Each of the operators < (less than),> (greater than),<= (less than or equal to),and >= (greater than or equal to) shall yield 1 if the specified relation is true and 0 if it is false. The result has type int.

因此1 – (a> b)的类型也是int,有符号类型.

原文链接:https://www.f2er.com/c/116628.html

猜你在找的C&C++相关文章