char 型地址问题
来源:百度知道 编辑:UC知道 时间:2024/09/20 02:56:49
#include <stdio.h>
void main()
{
char a ;
char *p = &a;
printf("%d",p);
}
输出是:"1245052 " 这是代表什么呢,是十六进制呢,还是代表其它的呢???为什么只有七位数字呢?
void main()
{
char a ;
char *p = &a;
printf("%d",p);
}
输出是:"1245052 " 这是代表什么呢,是十六进制呢,还是代表其它的呢???为什么只有七位数字呢?
是a的地址。
printf("%d",p); 输出格式 %d 是十进制数。
如果想输出16进制数,要用格式 %x
printf("%08x",p); -- 8位16进制数,不足8位则添0
只有七位数字,因为分配给a的地址换算成十进制,只有7位。
地址,要输出字符,用printf("%d",*p);
输出的似乎是a的地址吧……
地址
输出的似乎是a的地址。
2 分,走人。