C语言隐式转换的陷阱 当使用unsigned类型和signed类型进行运算时,有符号的类型会自动转换为unsigned,这在进行条件判断的时候结果会让人匪夷所思。 比如下面的例子: int main(void) { unsigned int size = 10; if(size > -1) printf("AAA"); else printf("BB"); } 看的快了会认为输出AAA,但是这个结果是输出BB,因为-1会自动转换为unsigned,转换后比size=10要大。