注册 登录
编程论坛 C++教室

有个小程序看不懂,请大家指教

飘到心海 发布于 2010-01-16 09:06, 609 次点击
#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;
}
这个程序怎么理解,请说的详细点,运行过程。谢谢!
1 回复
#2
mfkblue2010-01-16 17:07
#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 编辑 ]
1