高级会员
- 积分
- 907
- 金钱
- 907
- 注册时间
- 2011-10-19
- 在线时间
- 196 小时
|
发表于 2020-10-4 14:34:36
|
显示全部楼层
其实有一处错误, atof(buffer) 之前要在buffer的字符串添加结尾符,如果不加的话,若两个小数的长度不一样就会出错。
我这里随便你优化下算法:
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- static float data_test[2];
- int main(void)
- {
- char *p, *str;
- char test[2][9] =
- {
- {"0.1 0.2 "},
- {"0.3 0.4 "}
- };
- for (int i = 0; i < 2; i++)
- {
- str = test[i];
- p = strchr(test[i], ' ');
- if (p == NULL)
- {
- continue;
- }
- *p = '\0';
- data_test[0] = atof(str);
- str = p + 1;
- data_test[1] = atof(str);
- printf("%.1f, %.1f\n", data_test[0], data_test[1]);
- }
- return 0;
- }
复制代码
|
|