请教C51 sprintf数据转换出问题

2020-01-13 18:36发布

使用KEIL C51软件,芯片是c8051f020,在使用sprintf函数转换时,出现问题,不解,请教大家。
unsigned char   xdata  tempp[75],i;

i=13;
sprintf(tempp,"%d",i);

在tempp存储的是0x33 ,0x34 ,0x00 明显不对。
如果这样sprintf(tempp,"%d",(int)i); 则转为0x31 ,0x33 ,0x00是对的。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
takashiki
1楼-- · 2020-01-13 21:14
 精彩回答 2  元偷偷看……
cocom
2楼-- · 2020-01-13 21:34
数据类型,i是什么类型你要与%d匹配。
jxcrgt35
3楼-- · 2020-01-14 01:08
jxcrgt35
4楼-- · 2020-01-14 05:37
cocom 发表于 2018-9-29 11:20
数据类型,i是什么类型你要与%d匹配。

unsigned char i=13;
jxcrgt35
5楼-- · 2020-01-14 09:31
本帖最后由 jxcrgt35 于 2018-9-30 03:48 编辑

str="124.414194";
        
        sprintf (&tempp[0],"%f",atof(str));

结果等于124.414200
请教怎么提高转换经度?
jxcrgt35
6楼-- · 2020-01-14 10:52
 精彩回答 2  元偷偷看……

一周热门 更多>