C语言的问题 %L 是什么意思额。。。求解

printf("%lf\n",d);为什么要%后面要加l,而 不直接加f呢?

卐燦爛de借囗卍
浏览 4343回答 2
2回答

hhh112123123

%f和%lf分别是float类型和double类型用于格式化输入输出时对应的格式符号。其中:float,单精度浮点型,对应%f.double,双精度浮点型,对应%lf.

onemoo

应该就写%f。 float和double对应的都是%f。原因是:在向变参函数传参时,编译器会自动将float提升为double类型。那么printf作为一个变参函数,就算传入float,printf得到的也是double类型。%f在printf中作为double的指示符,也就可以用于float。其实老标准中根本没有%lf。在新标准(C99)中,为了在逻辑上和其他类型一致,才加入了%lf这个指示符,而实际上%lf就是%f
打开App,查看更多内容
随时随地看视频慕课网APP