----------------解决方案--------------------------------------------------------
如果想输出b的地址只要这样就行啊,
#include <conio.h> /* 此头函数请不要删除 */
#include <stdio.h>
main()
{ int a=511,*b=&a;
printf("%d\n",b);
getch(); /* 此语句请不要删除*/
}
----------------解决方案--------------------------------------------------------
a=511,*b=&a;
b == a的地址:
*b == a的值:
&a == a的地址:
a == a的值,
所以,b == &a
*b == a
----------------解决方案--------------------------------------------------------
回复:(wzl520)[求助]为什么输出的不是地址
以下是引用wzl520在2006-4-18 10:51:00的发言:
#include <conio.h> /* 此头函数请不要删除 */
#include <stdio.h>
main()
{ int a=511,*b=&a;
printf("%d\n",*b);
getch(); /* 此语句请不要删除*/
}
这个答案为什么不是a的地址而是a的值啊
#include <conio.h> /* 此头函数请不要删除 */
#include <stdio.h>
main()
{ int a=511,*b=&a;
printf("%d\n",*b);
getch(); /* 此语句请不要删除*/
}
这个答案为什么不是a的地址而是a的值啊
兄弟您问到点子上啦。这是初学指针的人易犯的第一个迷糊。且听我细说缘由:
开创C的人过于聪明,他喜欢“两步并作一步”走。因此出现
[auto] int x=10; //其实应理解为 { int x; x=10; }
int a=511, *b=&a; //等价于:{ int a,*b; a=511; b=&a; }
----------------解决方案--------------------------------------------------------
三个字:初始化
不许再讨论了
----------------解决方案--------------------------------------------------------