当有符号数和无符号数比较的时,如果有符号数的类型低于无符号数的类型,会发生类型提升,要当心。
只要有一个操作数是无符号数,另一个也会被转成无符号数,这种说法是不对的;理由是,实际的转换是按类型大小关系进行的,但并不是所有的无符号数都高于有符号数。long long 类型就高于 unsinged int 类型。
#include <stdio.h>
int main(void)
{
// 正常情况下 -1 < 10 为真
// 1. 陷阱示例
int x = -1;
unsi