单个字符比较问题
转载请注明出处:http://blog.csdn.net/qq_26093511/article/details/53119577
c语言中 单个字符不能比较大小! 比如'A' <'B' , '0'<'9' 这种表示方法是错的, 计算机不能识别字符,只能识别ASCII码!
倘若要比较两个字符,必须以ASCII码的形式进行比较。
unsigned char code chepai_su[]="苏A89682";
for(num=2;num<8;num++)
{
test=(unsigned char)chepai_su[num]; // 将字符强制转化为ASCII码
if((test>=0x30)&&(test<=0x39)) //字符 '0' ~ '9'
{
index = chepai_su[num]-'0';
for(i=0;i<16;i++)
stored_data[num*16+i]=Num0_9[index*16+i];
}
else if((test>=0x41)&&(test<=0x5a)) //字符 'A' ~ 'Z'
{
index = chepai_su[num]-'A';
for(i=0;i<16;i++)
stored_data[num*16+i]=AsciiA_Z[index*16+i];
}
}
由于本人能力有限,若有错误,请指出,非常感谢!