首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

指针访问数组元素有关问题

2012-08-03 
指针访问数组元素问题!代码如下:int main(){int a[]{1,2,3,4,5}int *p,ipafor(i0i5i++)++pcout

指针访问数组元素问题!
代码如下:
int main()
{
  int a[]={1,2,3,4,5};
  int *p,i;
  p=a;
  for(i=0;i<5;i++)
  ++p;
  cout<<*p<<endl;
  return 0;
}


为什么输出的是最后一个元素啊!

[解决办法]
楼主,你程序中需要循环执行的语句是这两句:
++p;
cout<<*p<<endl;
但你没有在这两句的外面加上花括号{},所以实际循环执行的语句只有++p;这一句。同样if ,else, while等等关键字的后面都会有这样整块执行的语句问题。需要整块执行的语句,称之为语句块,用花括号括起来。
所以楼主你以后最好是写这样的风格的程序:

C/C++ code
if(...){...//不论是一个语句还是多个,都用花括号括起来}else{...//不论是一个语句还是多个,都用花括号括起来}while(...){...//不论是一个语句还是多个,都用花括号括起来}for(...){...//不论是一个语句还是多个,都用花括号括起来} 

热点排行