我正在尝试将字符串转换为浮点值。看看我的小程序:
#include <stdio.h>
int main() {
char string[3] = "42";
double value = atof(string);
printf("Floating-point value: %f\n", value);
return 0;
}当我运行它时,我得到了这个:
Floating-point value: 327680.000000为什么?使用atoi将字符串转换为整数非常有效!
如果你知道原因,请分享你的智慧。:)
发布于 2013-11-10 17:05:13
char string[2] = "42";应该是
char string[3] = "42";"42"数组的大小为3个字节,因为必须计算尾空字符。如果要对声明使用char string[2],则不会终止string。
然后,您还必须为声明包含stdlib.h文件:
#incude <stdlib.h>https://stackoverflow.com/questions/19892463
复制相似问题