C语言关于指针的一个问题

来源:百度知道 编辑:UC知道 时间:2024/05/13 23:28:10
#include <studio.h>
main()
{ int **k,*a,b=100;
a=&b;
k=&a;
printf("%d\n",**k);
}
程序的输出结果是?
A 100 B b的地址
答案是A

请问程序怎么改写 可以是B答案呢???这两个答案有什么区别?
谢谢

printf("%d\n",*k);
k保存了a的地址,a保存了b的地址
那么*k就是a的值,就是b的地址值

以下方式都可以输出b的内存地址
printf("%p\n", &b);
printf("%p\n", a);
printf("%p\n", *k);

printf中的格式串可替换为 "0x%x\n"