#include<stdio.h>
int main()
{
int a;
char b;
int c;
printf("0x%08x",&a);
printf("0x%08x",&b);
printf("0x%08x",&c);
return 0;
}
printf("0x%08x",&a);中“0x%08x”什么意思?
vc编译器输出结果为何是0x0012ff7c
0x0012ff78
0x0012ff74
以十六进制数输出a,b,c三个变量的内存地址,以8位对齐显示。
"0x%08x"
前面0x就是显示"0x",后面%08x,以8个字符对齐,不足8个在前面补0,x代表16进制,并且字母为小写