c语言函数问题

voidFloatToByte(floatfloatNum,unsignedchar*byteArry){intintNum;intNum=(int)(floatNum*... void FloatToByte(float floatNum,unsigned char *byteArry)

{

int intNum;

intNum=(int)(floatNum*1000);

byteArry[0]=48+intNum/10000;

byteArry[1]=48+intNum/1000%10;

byteArry[2]=48+intNum/100%10;

byteArry[3]=48+intNum/10%10;

}

我想采用这种函数来解决浮点型和字符数组之间的转换,可是这个函数只能调用一次,第二次就会出现数据错误,这是为什么?

如果有解决方案,求告知,悬赏会增加50
unsigned char celToByte[4];//ds18b20温度传感器数据转四字节数组
unsigned char hToByte[4];//dht11温湿度传感器数据转四字节数组
unsigned char tToByte[4];

cel=33;
t=33;
h=33;

FloatToByte(h,hToByte);
FloatToByte(cel,celToByte);
FloatToByte(t,tToByte);
这是调用例子:
展开
 我来答
xiahoonhy
2016-11-12 · TA获得超过441个赞
知道小有建树答主
回答量:240
采纳率:0%
帮助的人:160万
展开全部
能详细一点问题现象么,单就这几行代码貌似没啥问题
追问
你看下面不是有三个调用该函数的吗?
只有第一个可以成功,另外两个就是错的

cel=33;
t=33;
h=33;

FloatToByte(h,hToByte); //结果正确,转换后是32.76
FloatToByte(cel,celToByte);//结果错误,不能转换成功,每一个数组值均小于48
FloatToByte(t,tToByte);//同上
但是无论把哪一个放在第一位都是正确结果
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式