| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 609 人关注过本帖
标题:有个小程序看不懂,请大家指教
只看楼主 加入收藏
飘到心海
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:79
专家分:145
注 册:2009-5-3
结帖率:71.43%
收藏
已结贴  问题点数:20 回复次数:1 
有个小程序看不懂,请大家指教
#include <iostream.h>
void main()
{
int a[10]={9,8,7,6,5,4,3,2,1},*p=a+5;
cout<<*--p<<endl;
*(p+3)+=2;
cout<<p[3]<<endl;
}
这个程序怎么理解,请说的详细点,运行过程。谢谢!
搜索更多相关主题的帖子: 指教 
2010-01-16 09:06
mfkblue
Rank: 5Rank: 5
等 级:职业侠客
帖 子:472
专家分:343
注 册:2008-12-21
收藏
得分:20 
#include <iostream.h>
void main()
{
int a[10]={9,8,7,6,5,4,3,2,1},*p=a+5;
//cout<<*p<<endl;
--p;
cout<<*p<<endl;
//cout<<*(p+3)<<endl;
*(p+3)=*(p+3)+2;
cout<<p[3]<<endl;
}

主要是看清*p所指的位置,*p=a+5指向了a[5],自减后指向a[4],然后*(p+3)指向a[7],改变a[7]里的值后输出.

[ 本帖最后由 mfkblue 于 2010-1-17 14:32 编辑 ]
2010-01-16 17:07
快速回复:有个小程序看不懂,请大家指教
数据加载中...
 
   



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

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