C语言中printf区分双精度和单精度吗?为什么用lf输出不了双精度浮点数?

///C语言中printf区分双精度和单精度吗?为什么用lf输出不了双精度浮点数?///输出结果竟然还是随机的?有些时候是负0,有些时候是正0#include<stdio... ///C语言中printf区分双精度和单精度吗?为什么用lf输出不了双精度浮点数?
///输出结果竟然还是随机的?有些时候是负0,有些时候是正0
#include <stdio.h>
#include <stdlib.h>

int main()
{
printf("%lf",1.1);
setbuf(stdin,NULL);
getchar();
return 0;
}
展开
 我来答
四舍五不入6
高粉答主

2020-02-05 · 醉心答题,欢迎关注
知道答主
回答量:147
采纳率:100%
帮助的人:1.6万
展开全部

c语言中用printf输出是区分单精度和双度的。

如果用户在函数定义时定义为双精度,最后用printf输出时既可以用printf("%lf",a);也可以用printf("%f",a)输出。

用"lf”输出不了双精度可能是用户定义时定义为单精度,那么可能不能用双精度输出。

至于输出答案有时为正零有时为负零,那么可能是用户求出的答案超出精度范围了。

扩展资料:

1、printf()函数

printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出

信息。在编写程序时经常会用到此函数。函数的原型为:

int printf(const char *format, ...);

函数返回值为整型。若成功则返回输出的字符数,输出出错则返回负值。

printf()函数的调用格式为:

printf("<格式化字符串>", <参量表>);

2、条件语句

条件语句可以给定一个判断条件,并在程序执行过程中判断该条件是否成立,根据判断结果执行不同的操作,从而改变代码的执行顺序,实现更多的功能。

参考资料来源:百度百科-条件语句

参考资料来源:百度百科-printf()

bond258369
推荐于2017-12-15 · TA获得超过152个赞
知道答主
回答量:107
采纳率:100%
帮助的人:20万
展开全部
c语言中用printf输出是区分单精度和双度的,如果你在函数定义时定义为双精度,最后用printf输出时既可以用printf("%lf",a);也可以用printf("%f",a)输出。用"lf”输出不了双精度可能是你定义时定义为单精度,那么可能不能用双精度输出。至于输出答案有时为正零有时为负零,那么可能是你求出的答案超出精度范围了·······
更多追问追答
追问
我代码中的是常量,C语言常量默认不就是double类型吗?要有后缀f的常量才是float类型.
追答
哦,就是用双精度输出1.1吧···好像不论用单精度还是双精度都是保留小数点后六位,只是输出的数表示的范围比单精度大,在单精度可能溢出的数,在双精度下不会溢出····你用电脑是16位,32位还是64位的?
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
idfulin
2012-10-21
知道答主
回答量:39
采纳率:0%
帮助的人:8.3万
展开全部
哦,原来这样的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
祈祷着守候
2012-10-30
知道答主
回答量:8
采纳率:0%
帮助的人:1万
展开全部
不会吧!怎么我每次的运行结果都是一样的?%lf确实是双精度。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式