这个十六进制地址 字符串判断有问题
一个字符串,里面是一个地址
char addr[]= "\x40\x2F\xE2 ";//地址是0x00402FE2
我现在要写一个add()函数,作用把这个地址+8
比如调用一次add(); //之后地址就变成0x00402FEA
我是这样写的
void add() {
if(addr[2]> = '\xF8 ') {
if(addr[1]> = '\xFF ') {
addr[0]+=1;
}
addr[1]+=1;
}
addr[2]+=8;
}
但这里有问题, '\x02 '居然也> '\xF8 ',导致函数不正确,应该怎么判断呢?
[解决办法]
(unsigned char)addr[2]> =(unsigned char) '\xF8 '