请问这个参数怎么传递的
main()
{
f_com((CHAR *)&version.data[0], 0xFF, (INT)0x0010);
}
CHAR *f_com(CHAR *destp, CHAR data, INT length)
{
}
请问; 第二个参数0xff 16进制 传给一个 UCHAR 型的变量, data里的实际取到的值还是0xFF 么? 0xFF占几个字节?
[解决办法]
0xFF是16进制的255,由于data是char(-128-127),data里的实际取到的值为-1
[解决办法]
是的,下面的代码也可以,不用改参数类型,不过不建议使用此方法。
CHAR *f_com(CHAR *destp, CHAR data, INT length)
{
uchar uData = (uchar)data; //这样取到0xFF了
}