enter image description here为什么在 C 中,当我用%lf打印双类型变量时,它显示0.000000 ...但如果我只使用%f 它会显示出渴望的结果吗?而且,当我们接受输入时,我们使用%lf作为double类型变量。 为什么我 0.0000 而不是 3.0000 ?
答案 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的情况下,它采用实际变量(浮点或双精度)作为可相互转换的输入参数(类型转换)