2011年12月30日 星期五

C about char 0X80

[心得]
unsigned char 型別定義為 範圍從 0 至256
char 型別定義為範圍從 -128 至 +127 的系統上,
int 0x80,(其值等於 +128)要轉成 char 會放不下,會產生編譯器自行定義的值。


#include <stdlib.h>
int main()
{
unsigned char a =0X80;
char b =0X80;
printf("a= %d\n",a); //128
printf("b= %d\n",b); //-128
if(a == 0X80) printf("a is true\n");
if(b == 0X80) printf("b is true\n");

system("pause");
}


/*結果 a is true!*/

沒有留言:

張貼留言