文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>有关char unsigned char和memcmp的认识

有关char unsigned char和memcmp的认识

时间:2010-09-10  来源:wbshwxn

前段时间,在做张家港车载POS机的时候,遇到一个问题。   其中m_ts_price.type=0xFF, gCardType=0xFF if(m_ts_price.type==gCardType){...} 发现没有if条件不满足,甚感诧异,仿真器跟踪的时候发现这两个变量的值都是0xFF,于是我改成了 if(memcmp(&m_ts_price.type,&gCardType,1)==0){...}却发现if条件成了 于是我找到了变量的定义如下:     typedef  struct
{
 char type[2];

 WORD trance;

 WORD time;

 char index;
} STR_PRICE;   STR_PRICE m_ts_price[10];    unsigned char gCardType;   这才恍然大悟,char的值是(-128---127)unsigend char是(0--255)所以这两个变量肯定是不相等的了。但是怎么memcmp是可以的啊,于是网上查了下 原理memcmp是以unsigend char对齐的 也就是说在比较的时候将char转化成了unsigned char。 看来的我C还有待提高!!!
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载