打印字符问题

在写C程序的时候遇到了奇怪的想象,声明一个字符 char a=0x5A;在用printf("%02x",a);输出的时候 打印出来的是FFFFFF5A,各种不懂啊,找了半天才发现问题,printf会把char默认转换为long输出,而long是四个字节。要想得到正确的结果,要把a声明为无符号字符,即:unsigned char a= 0x5A;

posted @ 2013-07-29 15:19  Rogge  阅读(156)  评论(0编辑  收藏  举报