#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,谁能帮忙演示下啊,谢谢
----------------解决方案--------------------------------------------------------
#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 ,谢谢
----------------解决方案--------------------------------------------------------