我正在尝试为我的 SAM3S 微控制器构建一个项目。我正在使用 atof 函数将通过 UART 传递给 micro 的字符串转换为浮点数,但是当我想查看转换结果(通过 printf)时,打印的值仅为“f”。
#include <stdlib.h>
#include <stdio.h>
int main(){
char str[7];
float number;
//receives the string of characters through UART and saves it in str
number=atof(str);
printf("received: %s converted in: %lf",str,number);
}
操作的结果是:“收到 10.000 转换为:f”。我什至用 sscanf 也试过了strtod(str,NULL);
,但毫无希望,但值保持不变。每个用“数字”制作的微积分在打印时都会返回“f”。我认为错误在于转换。你有什么建议吗?谢谢