当前位置: 代码迷 >> C语言 >> [求助]为什么输出的不是地址
  详细解决方案

[求助]为什么输出的不是地址

热度:135   发布时间:2006-04-19 14:15:00.0

不太明白LZ要什么结果的说。。。


----------------解决方案--------------------------------------------------------
如果你想要输出地址根本没有什么意义.
----------------解决方案--------------------------------------------------------
#include <conio.h> /* 此头函数请不要删除 */
#include <stdio.h>
main()
{ int a=511,*b=&a;
printf("%x\n",b);//这样就是a的地址.....
getch(); /* 此语句请不要删除*/
}

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

是D是D~根本不知道要什么。呵呵。


----------------解决方案--------------------------------------------------------
以下是引用cdmalcl在2006-4-19 13:30:00的发言:

不用怀疑拉
报错已经成为事实拉!
你要想达到那个目的得把b这么定义:
main()
{ int a=511,**b;
*b=&a;
printf("%d\n",*b);
getch(); /* 此语句请不要删除*/
}

main()
{ int a=511,*b;
b=&a;
printf("%d\n",*b); //*号是输出指针指向的地址的值
getch(); /* 此语句请不要删除*/
}
这样的话就输出a的值了




main()
{ int a=511,*b;
b=&a;
printf("%d\n",b);
getch(); /* 此语句请不要删除*/
}

这样就可以了


[此贴子已经被作者于2006-4-19 18:20:28编辑过]


----------------解决方案--------------------------------------------------------
int *b=&a;
这里*只表示对指向整型数a的指针声明,与语句块{int *b;*b=&a;}是不一样的.
如果要使上述语句块成立,使用如10楼的**b即可,打印的时候用%x,表示十六进制.输出变量a的存储地址。
----------------解决方案--------------------------------------------------------
多谢10楼的指出了我的错误
----------------解决方案--------------------------------------------------------
同意13楼!

----------------解决方案--------------------------------------------------------
getch(); /* 此语句请不要删除*/
为什么不能删?
----------------解决方案--------------------------------------------------------

楼上的怎么能那样呢>
main()
{
int a=511,*b;
b=&a;
printf("%x\n",b);
getch(); /* 此语句请不要删除*/

}
这样才行


----------------解决方案--------------------------------------------------------
  相关解决方案