我无法将双精度扫描到变量。
这是我的代码,很简单。我用命令构建它:
gcc -Wall -Wextra -Wpedantic -ansi -c double.c
#include <stdio.h>
int main() {
double f;
scanf("%lf", &f);
printf("%lf\n", f);
return 0;
}
输入:5.5(或任何其他数字)
输出:0(始终)
我正在使用(GCC)4.9.3。
答案 0 :(得分:1)
阅读编译器警告并修复它。
~$ gcc -Wall -Wextra -Wpedantic -ansi -c mydouble.c
mydouble.c: In function ‘main’:
mydouble.c:5:12: warning: ISO C90 does not support the ‘%lf’ gnu_printf format [-Wformat=]
printf("%lf\n", f);
您可以更改编译器标志或更改代码。
#include <stdio.h>
int main() {
double f;
scanf("%lf", &f);
printf("%f\n", f);
return 0;
}