gcc不能区分正数和负数

来源:solidot 作者:solidot
  

linux程序不能区分正数和负数,例如,-10和10会被认为是相等的。真的是这样吗?试试以下的C代码:
int main () {
                int i=2;
                if( -10*abs (i-1) == 10*abs(i-1) )
                                printf ("OMG,-10==10 in linux!\n");
                else
                                printf ("nothing special here\n");
}
同样的C代码,在windows和unix系统中编译运行的结果是nothing special here,只有linux得到是-10==10。
恩,我们的gcc在这里犯了一个低级错误。

(责任编辑:A6)


时间:2007-11-20 09:00 来源:solidot 作者:solidot 原文链接

好文,顶一下
(5)
100%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量