uint8_t ct2[5] = {0xFC,0xAD,0x71,0x5B,0xD7};
char str[5] = {0};
for(i=0;i<5;i++){
printf("%.2X",ct2[i]);
}
printf("\n");
for(i=0;i<5;i++){
sprintf(str+2*i,"%.2X",ct2[i]);
}
for(i=0;i<5;i++){
printf("%.2X",ct2[i]);
}
printf("\n");
printf("%s\n",str);
上面这段代码,在sprintf函数执行前后,分别打印ct2数组,它们的值不一样,不知道是怎么回事?