| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 365 人关注过本帖
标题:无论是新手还是大侠 都来帮俺分解一下
只看楼主 加入收藏
huang1938120
Rank: 2
等 级:论坛游民
帖 子:51
专家分:41
注 册:2012-10-30
结帖率:92.86%
收藏
已结贴  问题点数:20 回复次数:7 
无论是新手还是大侠 都来帮俺分解一下
int i;
int *a;
a=&i;
cout<<a<<endl;
cout<<&i<<endl;
但是当我想用 printf 输出时 也就是printf("%d",&a)
为什么会和前面输出的不一样   请帮俺分解一下  在此多谢

[ 本帖最后由 huang1938120 于 2012-12-27 10:59 编辑 ]
2012-12-26 16:38
yzf326363025
Rank: 1
等 级:新手上路
帖 子:1
专家分:3
注 册:2012-12-26
收藏
得分:3 
printf中%d这种格式是输出十进制的,用%x试试
2012-12-26 17:22
bulubulukaka
Rank: 2
等 级:论坛游民
帖 子:19
专家分:40
注 册:2012-12-5
收藏
得分:10 
建议用%p来输出内存地址
2012-12-26 17:25
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:2 
a=&a; ? 你想干什么?干嘛指向自己(a指针的地址)?编译不会通过吧,a是指针,&a 是“指针的指针”了
printf("%d",&a) 和谁不一样?

cout<<a<<endl;和  printf("%x\n", a); 是一样的,

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2012-12-26 17:26
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:2 
a=&a; 这个 要a=(int *)&a; 才能通过吧。不确定和编译器有没有关系

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2012-12-26 17:27
张海锋
Rank: 2
等 级:论坛游民
帖 子:52
专家分:37
注 册:2012-12-8
收藏
得分:3 
因为指针本来就是有地址分配的啊!第一个输出的应该是指针的地址吧,第二输出的是a的地址吧

2012-12-26 20:47
huang1938120
Rank: 2
等 级:论坛游民
帖 子:51
专家分:41
注 册:2012-10-30
收藏
得分:0 
呃 抱歉   写错了那里应该是&i  实在抱歉
2012-12-27 11:00
huang1938120
Rank: 2
等 级:论坛游民
帖 子:51
专家分:41
注 册:2012-10-30
收藏
得分:0 
回复 4楼 yuccn
呃 抱歉 那里应该是 a=&i
2012-12-27 11:03
快速回复:无论是新手还是大侠 都来帮俺分解一下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012822 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved