scanf在c语言中的作用double,C语言输入输出double值得处理

今天帮一中学同学做一个c考试了在这其中就有一个输入输出double值的例子,对于N年没有接触过c了,现在只有网上找找方法了,下面是我整理的一些关于double值的一个例子,很不错。

今天又做到一道题,在scanf()和printf()时对double的处理再度纠结。

 代码如下复制代码

double a, b;

printf("Please input two numbers(use space to divide): ");

scanf("%lf%lf", &a, &b);

printf("1/(1/a 1/b)/2= %fn", harmmean(a, b));

return 0;

很明显的纠结于

 代码如下复制代码

scanf("%lf%lf", &a, &b);

scanf()时我们用了%lf,而printf()时我们却用了%f,对此做出的解释是:

首先,www.111cn.net 一般情况下float和double所占的位数是不一样的……至少在我的电脑上int和float是4位,而double是8位。所以为了区分,在输入时需要明确的分为%f和%lf来确定你是要使用4位内存还是8位,而在printf()时,float会被转换为double,因此不用区分,直接使用%f就行了,至于%lf似乎就不存在了,存在的是%Lf,用于输入输出Long Double

C 总结一下 类型与格式说明符对应表

int %d

double/float %f

long %ld

long long %lld

char %c

short %hd

unsigned int %d

unsigned short %hu

八进制short %ho

unsigned long %lu

long double %Lf

十六进制long double %la (最后p10 表示2^10 p 表示2的指数)

指数计数法 %e (E10 表示10^10)

八进制 %0

十六进制 %x

前面加#如%#0则会输出如0111 %#x 如 0x2f

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值