C++中printf()函数的用法10-6
1 以内存地址的格式输出
printf()的type是%p的时候,表示以十六进制的方式显示指定的变量,特别是用在显示内存地址的时候。
int a = 1; printf("%p", &a);
以上代码的作用是显示变量a的内存地址,其输出如图1所示。
图1 a的内存地址
也可以用%p来表示变量的值,如
printf("%p", a);
此时的输出就是十六进制的格式输出变量a的值,如图2所示。
图2 a的值
2 以字符串的格式输出
printf()的type是%s或%S的时候,表示以字符串的方式显示指定的变量。
printf("%s", "12345abc");
此时的输出为“12345abc”。%s与%S的区别在于%s用于输出窄字符串,而%S用于输出宽字符串。
printf("%S", L"12345abc");
此时的输出为“12345abc”。而以下代码则
printf("%s", L"12345abc"); printf("%S", "12345abc");
则会导致输出混乱。