这个最简单的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呢?
展开
 我来答
沧海雄风2009
2013-03-07 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8525
采纳率:79%
帮助的人:2902万
展开全部
double 输出时要使用%lf

float 输出时要使用%f

你要把double当做%f输出 溢出了啊

double 8 float 4 啊
追问
printf用%lf后结果为什么还是-0.000000啊?
追答
输出输入要一致

double的 你输入输出都要是%lf才可以的

配套
乐你个头Zzz
2013-03-07
知道答主
回答量:57
采纳率:0%
帮助的人:18.1万
展开全部
因为你定义的main主函数为空,无返回值,而你的代码返回值是0。
可以在main()前面加个int ,或者去掉return 0
追问
我去掉return 0了
但是结果还是a=-0.000000
这程序为啥就得不到正确的输出呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
weichenli_tk
2013-03-07 · TA获得超过928个赞
知道答主
回答量:75
采纳率:0%
帮助的人:103万
展开全部
a是double类型 scanf、printf里面都要写 %lf
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光上的桥
2013-03-07 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65820
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式