C隐式转换?
C implicit conversion?
谁能给我解释一下
printf("%d", -2<2u?1:-1);
打印出“-1”。我假设正在进行某种隐式转换,但我似乎无法理解它。
-2
正在转换为 unsigned integer
。这将等于 UINT_MAX - 1
,肯定大于 2
。因此,条件失败并打印 -1
。
谁能给我解释一下
printf("%d", -2<2u?1:-1);
打印出“-1”。我假设正在进行某种隐式转换,但我似乎无法理解它。
-2
正在转换为 unsigned integer
。这将等于 UINT_MAX - 1
,肯定大于 2
。因此,条件失败并打印 -1
。