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)代码>。默认情况下,指针打印为十六进制数。“它实际上输出十六进制数?为什么会这样?”——因为您对标准库的实现决定指针打印为十六进制数(出于实际调试原因)。您对十六进制有什么看法?