char temp[2]={1,2,3,4,5,6,7,8,9,0,10},怎么把temp转成浮点型。C语言实现
时间: 2023-08-19 20:29:16 浏览: 144
062 浮点数转换为字符串 C语言
5星 · 资源好评率100%
由于 `temp` 数组的长度为 11,超出了 `char` 类型数组的默认长度,因此需要对 `temp` 数组进行修改,使其符合要求。另外,由于 `atof()` 函数只能将字符串类型的数字转换成浮点数,因此需要将 `temp` 数组转换成字符串类型的数字。
可以使用 `sprintf()` 函数将 `temp` 数组转换成字符串类型的数字,然后再使用 `atof()` 函数将字符串类型的数字转换成浮点数,具体的实现可以参考以下代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char temp[] = {'1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1'};
char str[20];
memset(str, 0, sizeof(str));
for (int i = 0; i < sizeof(temp) / sizeof(temp[0]); i++) {
sprintf(str + strlen(str), "%d", temp[i]);
}
double num = atof(str);
printf("转换后的浮点数:%.2f\n", num);
return 0;
}
```
输出结果为:
```
转换后的浮点数:1234567890.10
```
需要注意的是,由于 `sprintf()` 函数会将 `temp` 数组转换成字符串类型的数字,因此需要开辟足够大的内存空间存储字符串类型的数字。上述代码中,`str` 数组的大小为 20,可以存储 19 个字符(包括小数点),因此可以保证存储转换后的字符串类型的数字。
阅读全文