This question already has answers here:
Closed 4 years ago.
Scanf not reading in double
(2个答案)
我面临着非常奇怪的问题。
我正在C中编写非常简单的程序。
程序需要做的:读取实数并显示在控制台上。
#include <stdio.h>

int main()
{
    double a;
    printf("Give a: ");
    scanf("%f",&a);
    printf("Result for a = %f \n",a);
    return 0;
}

输出:
sh-4.3$ gcc -o main *.c
sh-4.3$ main
Give a: 123.345
Result for a = 0.000000

http://goo.gl/4j2Bjv
为什么有0.0000而不是我的号码?
我个人不知道。。。。这个site的代码运行良好。
知道吗?

最佳答案

使用%lf转换规范读取double%f用于float

关于c - 无法在C中使用实数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33269647/

10-12 20:48