当前位置: 代码迷 >> C语言 >> [求助]指针的指针问题
  详细解决方案

[求助]指针的指针问题

热度:296   发布时间:2007-02-09 20:37:12.0
[求助]指针的指针问题


#include <stdio.h>
main()
{
float x;
float *px=&x;
x=5.8;
printf("x :%f\n",x);
printf("*px:%f\n",*px);
printf("&x :%x(HEX)\n",&x);
printf("px :%x(HEX)\n",px);
printf("&px :%x(HEX)\n",&px);
}

RUN:
x :5.800000
*px :5.800000
&x :ffdc(HEX)
px :ffdc(HEX)
&px:ffd0(HEX)


能帮我解答下
1)如何转换成16进制输出ffdc的?
2)最后一个输出为什么是ffd0啊?

搜索更多相关的解决方案: 指针  

----------------解决方案--------------------------------------------------------
十六进制输出ffdc,谁能帮忙演示下啊,谢谢
----------------解决方案--------------------------------------------------------
以下是引用lhj2005在2007-2-9 20:37:12的发言:


#include <stdio.h>
main()
{
float x;
float *px=&x;
x=5.8;
printf("x :%f\n",x);
printf("*px:%f\n",*px);
printf("&x :%x(HEX)\n",&x);
printf("px :%x(HEX)\n",px);
printf("&px :%x(HEX)\n",&px);
}

RUN:
x :5.800000
*px :5.800000
&x :ffdc(HEX)
px :ffdc(HEX)
&px:ffd0(HEX)


能帮我解答下
1)如何转换成16进制输出ffdc的?
2)最后一个输出为什么是ffd0啊?

1)ffdc己经是16进制.
2)因为是地址的地址,即存放指针变量的地址.
----------------解决方案--------------------------------------------------------

我的意思是想知道,这个16进制的地址值是计算机求出来的,自己能不能算出来

如果可以的话,应该怎么算?


----------------解决方案--------------------------------------------------------
printf("%p",&x);
scanf("%p",px);/*照抄上面结果就是*/
printf("%p",px);
这个试下.
----------------解决方案--------------------------------------------------------

你说该怎样算.


----------------解决方案--------------------------------------------------------

不是算出来的吗

是执行程序才能看出来的吧,是在这个意思的吗

[此贴子已经被作者于2007-2-10 12:12:56编辑过]


----------------解决方案--------------------------------------------------------


----------------解决方案--------------------------------------------------------
o  ,谢谢
----------------解决方案--------------------------------------------------------
  相关解决方案