2017-11-25 38 views
1

为什么下面的代码给出的答案是-2.000000的每个输入?长双的负输出

#include <stdio.h> 
#include <math.h> 

int main() 
{ 

    long long int s1,s2; 
    long double l,y,m=sqrt(2); 

    scanf("%Lf %lld %lld",&l,&s1,&s2); 

    y=l*m; 
    printf("%Lf\n",y); 
} 
+1

我无法复制:https://ideone.com/H2KRHF – mch

+0

缺少标题?编译所有的警告(-Wall for gcc) –

+0

好的,那么哪个编译器,你正在使用哪个操作系统?你如何编译和链接并运行代码? – alk

回答

0

您可能在编译器设置中对浮点环境进行了某种奇怪的修改。也许代表指数的位现在代表数字本身。