根据 cppreference.com长度修饰符 %L 仅对浮点类型有效。但是现代 GNU 编译器和库似乎也接受整数作为 %ll(long long)的同义词。 cppreference 是否有可能在这方面出错?或者整数的 %L 将来会成为标准吗?
最佳答案
来自最新的 C11 草案 N1570 , §7.21.6.1 第 7 节:
L
-- Specifies that a followinga
,A
,e
,E
,f
,F
,g
, orG
conversion specifier applies to along double
argument.
所以您的来源是正确的,L
作为长度修饰符 仅为 float 转换定义。我不希望这会在未来的版本中改变,因为根本没有必要。只需根据需要使用 l
和 ll
。
关于c - printf 长度修饰符 %L 是标准的(或 future 的标准)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45166975/