ZKX's LAB

输入变量double r double类型变量C语言里输出时的格式说明符是什么?

2020-07-19知识19

C语言实型变量float、double、long double变量类型为什么显示的时候差别这么大? 首先搞清楚计算机是用二进制存储形式存储内容的,一个字节是8个二进制位。一个float、double、long double类型即单精度浮点类型、双精度浮点类型和长双精度浮点类型在32位系统下面的存储空间分别为4字节、8字节和12字节,也就是32个二进制位、64个二进制位和96个二进制位,因此他们能保存的小数点后面的位数的能力也是大相径庭的,位数越多能保存的小数点后面的位数也就越多,位数不够保存不了的计算机会自动舍弃后面几位!这样也就能解释你的问题啦。不好意思啊,解释得不是很专业不过应该是能懂的就行啦~编写程序,定义俩个double型变量,从键盘输入这俩个变量的值,计算并输出俩个变量的和差积商。 不知道你想用什么语言写,下面是 c 语言写的可以参考一下:includeincludeint main(){double a,b;printf(\"请输入两个数:\");scanf(\"%lf%lf\",&a,&b);printf(\"%.2lf+0.2lf=0.2lf\\n\",a,b,a+b);printf(\"%.2lf-%0.2lf=0.2lf\\n\",a,b,a-b);printf(\"%.2lf*%0.2lf=0.2lf\\n\",a,b,a*b);printf(\"%.2lf/0.2lf=0.2lf\\n\",a,b,a/b);system(\"pause\");return 0;}输入double变量, 计算后输出double有问题. 问题出在:scanf(\"%d%d\",&u,&i);double的格式说明符是%lf,%d则表示是整型,因为double和int在内存中存放的格式不同,所以按整型写入之后按double处理就得不到正确的值了 。

#控制台程序#变量#浮点数#string

随机阅读

qrcode
访问手机版