当前位置: 代码迷 >> C语言 >> 急啊!!sprintf(string,"%.3f",atof(string1)+atof(string2));
  详细解决方案

急啊!!sprintf(string,"%.3f",atof(string1)+atof(string2));

热度:690   发布时间:2006-01-24 09:36:00.0
急啊!!sprintf(string,"%.3f",atof(string1)+atof(string2));
sprintf(string,"%.3f",atof(string1)+atof(string2));
string,string1,string2是字符串,我的目的是把字符串string1和string2先转化成浮点数(小数点后面保留3位),然后再把这个结果转化成字符串,我这样做老是出错,请高手指点,急!!
搜索更多相关的解决方案: string  atof  sprintf  字符  成浮  

----------------解决方案--------------------------------------------------------

1、sprintf是什么意思?

2、类型转换的时候,要用两个字节表示的数肯定只能用大于等于两个字节的空间才能表示,否则这个数就肯定不会表示正确。


----------------解决方案--------------------------------------------------------
budong不懂,关注中.....
----------------解决方案--------------------------------------------------------

你的写法没有问题,可能问题出在string变量这。可能是你定义的string变量不管是指针还是数组在使用前要初始化,并且还要保证它的大小足够能存储那个运算结果,例如:
#include "stdio.h"
#include <stdlib.h>

void main(void){
char *string;
//char string[100];
char string1[]="0.12345";
char string2[]="0.13";

string = (char*)malloc(sizeof(string));
sprintf(string,"%.3f",atof(string1)+atof(string2));
printf("%s\n",string);
string = NULL;
free(string);
}


----------------解决方案--------------------------------------------------------
string = (char*)malloc(sizeof(string));
这句经典

----------------解决方案--------------------------------------------------------
  相关解决方案