字符型數據(char)與無符號字符型數據的區別(unsigned char)


char   是有符號的  

unsigned   char   是無符號的,里面全是正數

 

1.兩者都作為字符用的話是沒有區別的,

2.但當整數用時有區別:  

   char              整數范圍為-128到127(   0x80__0x7F),    

而unsigned   char   整數范圍為0到255(   0__0xFF   )

例如:如下分支語句的條件是永遠不會成立的。把char改為unsigned char即可

錯誤的分支語句:

         if((char)*lp>0x80)

           {

           wsprintf(szBuf,"%c%c\0",*lp);

           }

           else

           {

           wsprintf(szBuf,"%c\0",*lp);

           }

正確的分支語句:

         if((unsigned char)*lp>0x80)

           {

           wsprintf(szBuf,"%c%c\0",*lp);

           }

           else

           {

           wsprintf(szBuf,"%c\0",*lp);

           }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM