0

我正在尝试为我的 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”。我认为错误在于转换。你有什么建议吗?谢谢

4

0 回答 0