冥思苦想几个小时,不得其解 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,还是一样

有什么可能呢?
...全文
151 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
有可能是覆盖了。

70,026

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧