C++中printf()函数的用法10-10

printf()的参数格式如下所示

%[flags][width][.precision][size]type

其中,第四个域size在指定了type的取值范围。

1 以其他格式打印字符

当size域是hh,且type是d,i,o,u,x或者X时,表示以十进制整型、八进制、无符号或者十六进制的格式打印字符。

char c = 0xf0;

printf("%c", c);

此时打印的字符不可见。

printf("%x", c);

此时的输出是fffffff0,很明显超出了c的范围。

printf("%hhx", c);

此时的输出是f0。

2 以其他格式打印短整型

当size域是h,且type是d,i,o,u,x或者X时,表示以十进制整型、八进制、无符号或者十六进制的格式打印短整型。

3 以其他格式打印长整型

当size域是l,且type是d,i,o,u,x或者X时,表示以十进制整型、八进制、无符号或者十六进制的格式打印长整型。

4 以其他格式打印long long整型

当size域是ll,且type是d,i,o,u,x或者X时,表示以十进制整型、八进制、无符号或者十六进制的格式打印long long整型。

long long int li = 9223372036854775807;

printf("%d", li);

此时显示的是是“-1”,可以使用如下方法正确打印出li:

printf("%lld", li);

 


版权声明:本文为hou09tian原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。