嗨,我有一个使用ndk的android项目
有一个定义为atof()的c函数
static __inline__ double atof(const char *nptr)
{
return (strtod(nptr, NULL));
}但不知何故,它总是会导致0.0
error_printf("found %s parsed %d \n",nextArg, atof(nextArg));
found 44 parsed 0你知道为什么吗?
参数nextArg似乎不是问题所在
error_printf("found %s parsed %d \n","123", atof("123"));
found 123 parsed 0 发布于 2014-03-23 23:54:40
将打印消息从需要32位整数的%d更改为需要64位浮点值的%f。
您的print语句显示了其参数的低32位,由于您选择的测试输入,这些参数恰好全为零。如果打印atof(123.3),您将看到来自%d的非零值。
当然,还要确保你有#include <stdlib.h>,以确保你有atof()和strtod()的原型。
https://stackoverflow.com/questions/22591681
复制相似问题