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

这个为什么会错呢?????

炼雪无痕 发布于 2011-09-25 16:49, 556 次点击
#include <iostream>
using namespace std;
int main()
{
   int n,*p;
   int m[5];
   m[5]={1,10,20,30,40};
   p=m;
  

  

  n=(*p)++;
  cout<<"******"<<n<<"******"<<endl;

  n=++(*p);
  cout<<"******"<<n<<"******"<<endl;


   return 0;
}   
3 回复
#2
czsbc2011-09-25 19:13
int m[5];
    m[5]={1,10,20,30,40};
 没见过这样初始化的
int m[5]={1,10,20,30,40};
这样就可以了
#3
hxlniada2011-09-28 18:37
楼上正解
#4
guilin08222011-10-07 21:18
二楼说的正确。在定义时, “int a[5]={1,10,20,30,40};”,意思是定一个有5个整形元素的数组并对他们赋值。如果先定义了,在赋值时,只能一次给一个元素赋值,也就是说a[5]=,是对a数组的第6个元素赋值。再说,你前面的数组只有5个元素,当然在编辑时是过不的了。


[ 本帖最后由 guilin0822 于 2011-10-7 21:19 编辑 ]
1