这个最简单的c语言程序为什么输出结果是0呢?
#include<stdio.h>main(){doublea;scanf("%f",&a);printf("a=%f\n",a);return0;}编译运行,我输入1....
#include <stdio.h>
main()
{
double a;
scanf("%f",&a);
printf("a=%f\n",a);
return 0;
}
编译运行,我输入1.2或其它什么数字,但为什么输出的结果都是-0.000000呢? 展开
main()
{
double a;
scanf("%f",&a);
printf("a=%f\n",a);
return 0;
}
编译运行,我输入1.2或其它什么数字,但为什么输出的结果都是-0.000000呢? 展开
展开全部
因为你定义的main主函数为空,无返回值,而你的代码返回值是0。
可以在main()前面加个int ,或者去掉return 0
可以在main()前面加个int ,或者去掉return 0
追问
我去掉return 0了
但是结果还是a=-0.000000
这程序为啥就得不到正确的输出呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a是double类型 scanf、printf里面都要写 %lf
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
printf的时候要用%lf
追问
printf用%lf后结果为什么还是-0.000000啊?
追答
那就都用%lf吧,我在小型机上用%f要报错,用%lf正确,测试情况如下:
$ cat a.c
#include
main()
{
double a;
scanf("%lf",&a);
printf("a=%lf\n",a);
return 0;
}
$ cc a.c
$ a.out
1.2
a=1.200000
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询