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);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章