c语言double类型数组输出的问题

作者&投稿:海紫 (若有异议请与网页底部的电邮联系)
c语言,double类型的数组为什么不可以用数组名对数组进行整体输入输出?~

  C语言中,用printf()输出数据时,只有字符串类型数据才可以通过数组名(数组首地址)将其中的数据完整的输出出来。因为,字符串有一个规定,必须以\0结尾,这样,程序,只需要判断是不是遇到\0而决定是否结束输出。
  可是,对于其它类型的数组,因为没有标识可供机器判定输出结束,所以,只提供数组首地址,机器不知道何时输出结束,也就无法完成对数组整体进行输出了。

  关于输入数据,对于字符串类型,虽然是输入多个字符,只要是按了回车,系统就认为输入结束,这一堆字符都却只形成一个字符串,相当于只是输入了一个数据。
  但,对于其它类型数组的输入,完整输入则表示要输入多个数据,因为机器无法判定数组的大小,不知道输入到哪里算是数据输入结束,所以,无法根据数组名进行整体输入。

数组名是一个地址常量,不能用赋值运算符直接输入,因为赋值运算符左边必须是一个变量。比如:
double
a[10];
a=5.0;//这是错的
a[0]=5.0;//这个可以
scanf("%lf",a);//相当于给
a[0]
输入值

double占8字节 对应的格式为%lf
float占4字节 对应的格式为%f
当两个格式用反时,会造成程序读取数据并赋值时,赋值给变量时字节信息错位,导致数据错误。
float 存储数据格式为:1位的符号位+8位的指数位+23位尾数
double存储数据格式为:1位的符号位+11位的指数位+52位尾数
因此,错位存储的数据,解释输出来就差别非常大了。

因为不能用 f 就得用 lf,别问我为什么,要问就问编这个东西的人吧


c语言double是什么意思
在C语言中,double是一种数据类型,用于表示双精度浮点数。详细解释:1. 数据类型概述:在计算机编程中,为了表示不同的数据,会使用多种数据类型。double就是其中的一种,用于表示具有更大范围的实数。2. 双精度浮点数:“double”中的“double precision”意味着这种数据类型提供了双倍的精度,相比于单...

double在c语言中的意思是什么?
double在C语言中的意思是双精度浮点数类型。接下来 C语言中的double是一种数据类型,用于表示双精度浮点数。浮点数是一种可以在内存中存储小数点的数字,而双精度则表示这种浮点数使用更多的内存来存储,因此可以表示更大或更精确的数值。具体来说,double类型在大多数现代计算机系统中占据64位,可以表示大...

c语言double是什么意思?
Double是C语言中的一种数据类型。它是一种双精度浮点数。与float类型的单精度浮点数相比,double类型可以表示更大范围的数值,并具有更高的精度。浮点类型的数值在计算机中是以近似值来存储的,因此在使用过程中需要注意其精度损失问题。在进行科学计算和金融计算等高精度运算时,使用double类型变量可以有效...

c语言中, double类型是什么类型?
C语言中, double类型是双精度浮点型。浮点数也称小数或实数。例如,0.0、75.0、4.023、0.27、-937.198 都是合法的小数。C语言中采用float和double关键字来定义小数,float称为单精度浮点型,double称为双精度浮点型,long double更长的双精度浮点型。补充资料:double (双精度浮点型)类型是C语言...

c语言中double是什么意思?
Double是C语言中一种数据类型,它代表的是双精度浮点数。在计算机中,浮点数是一种用于表示任意实数的约定。双精度浮点数比单精度浮点数更精确,因为它使用的是更多的位数来存储数字。在C语言中,double类型通常会占用8个字节的内存,这意味着它可以表示的数字范围非常大,可以达到7 x 10^308。与单精度...

double在c语言中的意思是什么?
double在C语言中的意思是双精度浮点型变量。以下是对double在C语言中的 1. 数据类型概述 在C语言中,数据类型是用于定义变量时可以使用的特定类别。这些类别决定了变量能够存储的数据种类以及可以进行的操作。double就是其中的一种数据类型,表示双精度浮点型变量。2. 双精度含义 “双精度”意味着这种数据...

double在C语言中是什么意思?
double在C语言中是一种数据类型,用于表示双精度浮点数,即可以表示较大范围的小数值。拓展知识:1、double数据类型:在C语言中,double是一种浮点数数据类型,它可以表示双李带精度浮点数,即小数点前后的位数更多,精度更高。通常,double类型占用8个字节(64位)的存储空间,可以表示的范围是非常广泛的...

在c语言中double是什么意思?
在C语言中,double是一种数据类型,用于表示浮点数,即具有小数部分的数字。Double在内存中需要8个字节的存储空间,它的取值范围更广,可表示更大的数值范围和更高位数的小数,因此比float更精确。Double的精度和范围远超float。Double类型适用于涉及到精度要求较高的计算或处理浮点数的场景,例如金融计算或...

c语言中double是什么意思
double类型是由C语言标准使用的浮点数类型之一,它可以用于计算任何需要浮点数的场景。double类型的使用场景非常广泛,比如数值计算、科学计算、3D建模和图形处理等领域。拓展:double类型通常在变量声明时定义,并且在变量名前面加上关键字“double”。例如:```c double a = 10.5;```在C语言中,double...

C语言中double什么意思
在C语言中,double是一种数据类型,用于存储双精度浮点数,具有更大的数值范围和更高的精度。double类型的变量可以进行算术运算,但需要更多的内存空间来存储。因此,在编写C语言程序时,需要考虑内存的使用情况。double类型的变量通常使用double关键字进行声明。例如,下面的语句声明了一个名为x的double类型...

顺德区19680158845: c语言double型变量的输出问题. -
子车虽赛迪: double 类型本来就是类似存储,数据过大误差就会很大,而且和编译器啥的也有关系,换大一点的数据类型试试

顺德区19680158845: C语言中double类型数据的输出与接收 -
子车虽赛迪: #include<stdio.h>头文件...你输入输出头文件都没. scanf("%lf",&a);因为你是双精度.

顺德区19680158845: c语言中double,float输出问题 -
子车虽赛迪: double 和 float都可以用%f输出.默认6位小数.如果是其它要求,需要指定.如printf("%.11lf\n%.3f",a,b);

顺德区19680158845: c语言double类型输出问题及字符输入问题 -
子车虽赛迪: double要用%lf你输入字符串时,肯定按了回车,而回车实际上输入了2个字符,第1个被用来确认scanf结束,还有一个仍然保留在了缓冲区内,被scanf("%c",&ch);读到了,这个字符是个控制字符,所以不可见.在任何读取字符的语句之前,你最好用fflush(stdin);来清空一下缓冲区.

顺德区19680158845: 关于C语言中double型输出的问题
子车虽赛迪: 你理解错咯 double的意思是可以有16位有效数字 而在固定格式输出的时候,都默认的是6位 用double的时候f前面加l是没有效果的 你要输出长度,可以写,%0.8f,这样就是输出8个有效数字了

顺德区19680158845: C语言double型数据输出有问题,请高手指点. -
子车虽赛迪: 出现类型不匹配问题,double型的为%lf 而float为%f 所以才出现问题.#include<stdio.h> int main() { double x; scanf("%f",&x); printf("x=%f\n",x); } }

顺德区19680158845: C语言输出double型数值 -
子车虽赛迪: printf("%f",a); 只要前面定义是double形,输出就是double形

顺德区19680158845: c语言声明为double类型输出1.QUAN -
子车虽赛迪: 你好 前面你定义a为double类型,那你后面的格式就应该用%lg,(l代表位数更长,除非显示转换否则要对应的类型格式输入输出)如果你定义a为float型,那你后面就可以用%g,当然int型对应%d.

顺德区19680158845: c语言,double类型的数组为什么不可以用数组名对数组进行整体输入输出? -
子车虽赛迪: C语言中,用printf()输出数据时,只有字符串类型数据才可以通过数组名(数组首地址)将其中的数据完整的输出出来.因为,字符串有一个规定,必须以\0结尾,这样,程序,只需要判断是不是遇到\0而决定是否结束输出. 可是,对于其...

顺德区19680158845: c语言中 想输出double类型的 是%lf吗 不是的话应该是什么 -
子车虽赛迪: 输出时都行. 但格式用在输入语句里,不能与float 的 %f混淆, double 必须用 %lf

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网