C 输出指针

C 输出指针,c,pointers,C,Pointers,当我在printf语句中使用%p格式字符来输出指针变量的值时,它实际上输出十六进制?为什么会这样? 在我的例子中,如何输出指针 #include <stdio.h> int main(){ char c1 = 'A'; char c2 = c1; char *c3 = &c2; char *c4; char *c5; char c6; c4 = c3; c5 = &c1; c6 = &a

当我在
printf
语句中使用
%p
格式字符来输出指针变量的值时,它实际上输出十六进制?为什么会这样? 在我的例子中,如何输出指针

 #include <stdio.h>

 int main(){

    char c1 = 'A';
    char c2 = c1;
    char *c3 = &c2;
    char *c4;
    char *c5;
    char c6;

    c4 = c3;
    c5 = &c1;
    c6 = &c3;

    c2 = 'Z';
    c3 = c5;

    printf(" %p", *c5);

    return 0;
 }
#包括
int main(){
字符c1='A';
字符c2=c1;
字符*c3=&c2;
char*c4;
炭*c5;
煤焦c6;
c4=c3;
c5=&c1;
c6=&c3;
c2=‘Z’;
c3=c5;
printf(“%p”,*c5);
返回0;
}

如果要在指针处打印值,请使用

printf("%c", *c5);
或者,如果要在
decimal
系统中打印指针的地址,请使用

printf("%u", c5);
希望这有帮助。

非常简单,请尝试以下方法: 地址c5: printf(“%d\n”,c5); c5点地址: printf(“%d\n”、&c5); 价值:
printf(“%d\n”,c5)

只需编写
printf(“%p”,c5)。默认情况下,指针打印为十六进制数。“它实际上输出十六进制数?为什么会这样?”——因为您对标准库的实现决定指针打印为十六进制数(出于实际调试原因)。您对十六进制有什么看法?