首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

通过一个程序请问sprintf有关问题

2012-02-20 
通过一个程序请教sprintf问题main(){unsignedcharc10x61charc2sprintf(&(c2), %02x ,(unsignedchar)c

通过一个程序请教sprintf问题
main()
{                    
unsigned           char         c1   =   0x61   ;
charc2   ;
sprintf(&(c2), "%02x ",(unsigned   char)c1)   ;
printf( "%x\n ",c2)   ;
}

最后的输出是36,为什么,内存中是怎样实现0x61到0x36的转化的?

[解决办法]
首先要注意的是上边代码有问题,内存越界了

其次要注意的是,sprintf对内存部分输出的是ascii码

0x61变成 "61 "

'6 '的ascii是0x36
因此就可以输出0x36

热点排行