如下程序:
int main(int argc, const char * argv[]) {
// insert code here...
unsigned int a = 1;
int b = -1;
if(a<b){
cout<<"a<b"<<endl;
}else cout<<"a>b"<<endl;
return 0;
}
输出结果为a<b
原因是在对a和b进行比较时,b会转化成unsigned int 所以一个负数转化成了一个很大的正数导致a<b;