我正在尝试将字符串转换为浮点值。看看我的小程序:
#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
复制相似问题