首先將0賦給要判斷的變量(a)
然後判斷 變量(a)是否小於變量(a)-1,如果條件爲真,則變量(a)爲無符號數,否則變量(a)爲有符號數。
代碼:
unsigned int a = 0;
if(a < a-1) {
printf("/nunsiged");
}else{
printf("/nsigned");
}
分析:如果變量(a)爲無符號數,小於號左邊爲無符號數,右邊爲-1是有符號數,兩邊類型不一致,編譯器會穩式地把有符號數轉換成無符號數,則右邊爲無符號數的最大數,if的條件會爲真。如果變量(a)爲有符號數,小於號兩邊類型一致,不需要轉換,條件自然就爲假。