在C中打印双数据类型

时间:2016-11-18 08:53:20

标签: c

enter image description here为什么在 C 中,当我用%lf打印双类型变量时,它显示0.000000 ...但如果我只使用%f 它会显示出渴望的结果吗?而且,当我们接受输入时,我们使用%lf作为double类型变量。 为什么我 0.0000 而不是 3.0000

1 个答案:

答案 0 :(得分:1)

for printf %f and %lf can be used interchangeably for floats and double.
for scanf %f  formats float
for scanf %lf formats double

原因是scanf在两种情况下都将指针(变量的地址)作为输入。而在printf的情况下,它采用实际变量(浮点或双精度)作为可相互转换的输入参数(类型转换)