【发布时间】:2018-03-30 13:42:59
【问题描述】:
假设我有
printf("%llu %llx", one, two);
然后one 和two 都可以是unsigned long long 类型,区别只是它们分别打印为十进制或十六进制。
有一大堆宽度说明符(h、hh、L、I 等),看起来它们中的每一个都可以与 u 和 x 转换说明符一起使用,但是每次我被允许传递正确宽度的无符号类型的值。
无论它是否以x 或u 结尾并且前面具有相同的宽度说明符,我都可以传递相同时间的值并且它总是合法的吗?
【问题讨论】:
-
你看过the documentation吗?
-
@Kevin 是的,当然,我正在寻找机会。
-
x/X和u(和o)对于每个宽度说明符都有相同的类型。这不是你要问的吗? -
没有问题。 (
e、f和g格式说明符也是如此:给定的数据可以以不同的方式呈现。) -
o、u、x和X对于给定的宽度说明符都期望相同的参数类型。
标签: c++ c printf format-specifiers