c字符串里的十六进制数怎么输出啊

img


buffer里面是两个十六进制数
但是

printf("%s", buffer);

输出的却是两个奇怪的符号

img

十六进制的格式输出符是: %x,将%s换成%x

printf("%x%x", buffer[0],buffer[1]);
你用字符串的形式输出,那么它默认会按ascii码转换成字符
可是x11不是任何可见的字符,就会显示方框

%s换成%x或者%X

printf("%x", buffer);

用%x
推荐将%p f lf
这些常用的了解一哈