• 全部
  • 问答

冥思苦想几个小时,不得其解 1/(double)1得到nan???

Oversense 2009-09-14 09:41:19
...代码...

{
int a;
int b;
double d;
a = 1;
b = 1;
d = a/(double)b;
av_log(NULL, AV_LOG_INFO, "?fix it? %f\n", d);
}
...代码...


就是上面的代码,av_log输出居然是 nan

放到其他地方,输出是对的,就是放在程序里面一个地方,输出就是nan

上面的代码是用 gcc编译的

然后我在vc里面调用的.

我怀疑是栈溢出,改成4m,还是一样

有什么可能呢?
...全文
70 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
brookmill 2009-09-14
确实不像是%lf的原因。只能猜了
1. 楼主确信av_log函数没问题?能不能用printf看看?
2. 有可能是被其他代码覆盖,问题是a、b、d的赋值之后马上就调用了av_log函数,这个覆盖会发生在哪个时间点呢?
回复
james_hw 2009-09-14
nan 是什么?
回复
lin_style 2009-09-14
被你其他代码行为覆盖了呗
回复
Oversense 2009-09-14
[Quote=引用 1 楼 brookmill 的回复:]
试试 %lf ?
%lf\n", d);

[/Quote]

刚试过了,还是不对

我这个代码,放在其他的地方,输出都是对的,应该不是这个原因
回复
brookmill 2009-09-14
试试 %lf ?
%lf\n", d);
回复
xiao_yanjing 2009-09-14
有可能是覆盖了。
回复
发帖
C语言
创建于2007-09-28

6.3w+

社区成员

C语言相关问题讨论
申请成为版主
帖子事件
创建了帖子
2009-09-14 09:41
社区公告
暂无公告