38. 已知 double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是( )

38. 已知 double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是( )。
A. scanf("%ld",&a);
B. scanf("%d",&a);
C. scanf("%7.2f",&a);
D. scanf("%lf",&a);
答案是D,为什么C不行,请问CD各自用于什么?求解析

第1个回答  2018-07-21
答案选择scanf("%lf",&a);
l与a, A, e, E, f, F, g, or G配合使用表示对应一个double数据
默认情况下,a、f、e 和 g 告诉 scanf() 为 float 分配数据。 如果将 L / l放在这些修饰符的前面,则 scanf() 为 double 分配数据。本回答被网友采纳
第2个回答  2018-07-21
C选项用于类型为float的变量