判斷一個變量是無符號的還是有符號

首先將0賦給要判斷的變量(a)

然後判斷 變量(a)是否小於變量(a)-1,如果條件爲真,則變量(a)爲無符號數,否則變量(a)爲有符號數。

代碼:

 unsigned int a = 0;
 if(a < a-1) {
      printf("/nunsiged");
 }else{
      printf("/nsigned");
 }

分析:如果變量(a)爲無符號數,小於號左邊爲無符號數,右邊爲-1是有符號數,兩邊類型不一致,編譯器會穩式地把有符號數轉換成無符號數,則右邊爲無符號數的最大數,if的條件會爲真。如果變量(a)爲有符號數,小於號兩邊類型一致,不需要轉換,條件自然就爲假。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章