【发布时间】:2010-09-17 15:46:57
【问题描述】:
为什么scanf()在读取double时需要“%lf”中的l,而printf()可以使用“%f”而不管其参数是double还是float?
示例代码:
double d;
scanf("%lf", &d);
printf("%f", d);
【问题讨论】:
-
我不明白你所说的 POINTER 是什么意思。在 scanf 我们只传递 &variable (i.e)address 所以指针在哪里
-
@deetchanya 在 C 中,当您使用一元
&运算符“获取”变量的地址时,该操作的结果是指向变量在内存中的存储位置的指针。就是传递给scanf的那个指针。 -
这是另一篇关于stackoverflow.com/questions/9291348/…的帖子
标签: c scanf length-modifiers