C隐式转换?

时间:2016-02-12 12:07:59

标签: c implicit-conversion unsigned

有人可以向我解释如何

printf("%d", -2<2u?1:-1);

打印出'-1'。我假设有某种隐式转换正在进行,但我似乎无法掌握它。

1 个答案:

答案 0 :(得分:5)

-2正在转换为unsigned integer。这等于UINT_MAX - 1,绝对大于2。因此,条件失败并打印-1