
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;
} 展开
///输出结果竟然还是随机的?有些时候是负0,有些时候是正0
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("%lf",1.1);
setbuf(stdin,NULL);
getchar();
return 0;
} 展开
4个回答
展开全部
c语言中用printf输出是区分单精度和双度的。
如果用户在函数定义时定义为双精度,最后用printf输出时既可以用printf("%lf",a);也可以用printf("%f",a)输出。
用"lf”输出不了双精度可能是用户定义时定义为单精度,那么可能不能用双精度输出。
至于输出答案有时为正零有时为负零,那么可能是用户求出的答案超出精度范围了。
扩展资料:
1、printf()函数
printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出
信息。在编写程序时经常会用到此函数。函数的原型为:
int printf(const char *format, ...);
函数返回值为整型。若成功则返回输出的字符数,输出出错则返回负值。
printf()函数的调用格式为:
printf("<格式化字符串>", <参量表>);
2、条件语句
条件语句可以给定一个判断条件,并在程序执行过程中判断该条件是否成立,根据判断结果执行不同的操作,从而改变代码的执行顺序,实现更多的功能。
参考资料来源:百度百科-条件语句
参考资料来源:百度百科-printf()
展开全部
c语言中用printf输出是区分单精度和双度的,如果你在函数定义时定义为双精度,最后用printf输出时既可以用printf("%lf",a);也可以用printf("%f",a)输出。用"lf”输出不了双精度可能是你定义时定义为单精度,那么可能不能用双精度输出。至于输出答案有时为正零有时为负零,那么可能是你求出的答案超出精度范围了·······
更多追问追答
追问
我代码中的是常量,C语言常量默认不就是double类型吗?要有后缀f的常量才是float类型.
追答
哦,就是用双精度输出1.1吧···好像不论用单精度还是双精度都是保留小数点后六位,只是输出的数表示的范围比单精度大,在单精度可能溢出的数,在双精度下不会溢出····你用电脑是16位,32位还是64位的?
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不会吧!怎么我每次的运行结果都是一样的?%lf确实是双精度。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询