C语言double类型输入输出问题

使用scanf输入double类型数据,必须使用%lf,否则会出现图1情况,即出现错误c=0.000000,正确应为3.3000000(图2),注意&取地址

#include <stdio.h>
int main(){
    double a;  //定义double类型数据
    double b;
    double c;
    scanf("%lf",&a);       
    scanf("%lf",&b);        
    c=a+b;
    printf("%f",c);           
    return 0;                   
}                                

double类型数据输出使用printf输出则可以使用%f(默认6位小数),若要限制位数,要使用"%m.nlf"进行限制

                                                                         图1

                                                                         图2

  • 21
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: C语言中的long double类型可以用于存储更大范围的浮点数,其输入输出方式与其他浮点数类型类似。 输入long double类型的数据可以使用scanf函数,格式化字符串为"%Lf",例如: long double num; scanf("%Lf", &num); 输出long double类型的数据可以使用printf函数,格式化字符串为"%Lf",例如: long double num = 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679L; printf("num = %Lf\n", num); 注意,在输出long double类型的数据时,需要在数字后面加上字母L,表示这是一个long double类型的数据。 ### 回答2: 在C语言中,long double是一种基本的浮点数据类型,它通常被用来处理双精度浮点数。与其他浮点数据类型相比,long double的精度更高,它通常占用更多的内存空间,通常占用16个字节的存储空间。 在C语言中,我们可以使用scanf()函数来接收long double类型输入,使用printf()函数来输出long double类型的数据。在使用scanf()函数时,我们需要使用格式说明符“%Lf”,“%Lg”或“%Le”来指示输入的数据类型为long double。同样,在使用printf()函数时,我们也需要使用相应的格式说明符来进行输出。 例如,以下是一个使用scanf()函数和printf()函数来输入和输出long double类型数据的示例: ``` #include <stdio.h> int main() { long double num1, num2, sum; printf("请输入两个long double类型的数据:"); scanf("%Lf %Lf", &num1, &num2); sum = num1 + num2; printf("输入的数据是:%.10Lf 和 %.10Lf\n", num1, num2); printf("它们的和为:%.10Lf\n", sum); return 0; } ``` 在上面的示例中,我们首先声明了三个long double类型的变量num1、num2和sum。然后,我们使用scanf()函数来接收从键盘输入的两个long double类型的数据。接着,我们将num1和num2的和赋值给sum变量。最后,我们使用printf()函数来输出输入的数据和它们的和,保留小数点后10位。 总之,在C语言中,long double数据类型可以很方便地进行输入和输出,只需要使用与其他数据类型相同的输入输出函数,并且使用相应的格式说明符。 ### 回答3: long doubleC语言中的一种基本数据类型,通常用于存储需要高精度计算的数据,例如科学计算、金融计算等。在C语言中,我们可以使用scanf和printf函数来进行long double类型输入输出。 对于输入,我们需要使用"%Lf"格式控制符,例如: long double x; scanf("%Lf", &x); 在使用scanf函数时,我们需要注意以下几点: 1. 必须使用大写字母L来表示long double类型,否则会按照double类型进行解析。 2. 如果输入的数据比long double类型的范围还大,程序会产生溢出错误。 3. 在输入long double类型的数据时,我们需要注意输入的数据的精度,过高或者过低的精度可能会导致精度误差。 对于输出,我们同样需要使用"%Lf"格式控制符,例如: long double x = 3.1415926535; printf("%.10Lf\n", x); 在使用printf函数时,我们需要注意以下几点: 1. 必须使用大写字母L来表示long double类型,否则会按照double类型进行输出。 2. 在输出long double类型的数据时,我们需要注意输出的精度,过高或者过低的精度可能会导致精度误差。 总结: C语言中long double类型输入输出非常类似于double类型输入输出,我们只需要在格式控制符中加上大小写字母L即可。需要注意的是,long double类型的精度非常高,我们在使用时需要小心。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值