急啊!!sprintf(string,"%.3f",atof(string1)+atof(string2));
sprintf(string,"%.3f",atof(string1)+atof(string2));string,string1,string2是字符串,我的目的是把字符串string1和string2先转化成浮点数(小数点后面保留3位),然后再把这个结果转化成字符串,我这样做老是出错,请高手指点,急!!
1、sprintf是什么意思?
2、类型转换的时候,要用两个字节表示的数肯定只能用大于等于两个字节的空间才能表示,否则这个数就肯定不会表示正确。
你的写法没有问题,可能问题出在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);
}