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

一个关于c++二维数组的元素读取的问题,谢谢了。

ClarenceC 发布于 2014-01-10 19:09, 957 次点击
//略掉头文件
int data[3][3]={
{'2','3','4'},
{'5','6','7'},
{'8','9','0'}
};
for(int *p=data;p != data+2; ++p)
  for(int *q=*p;q != p+3;++q)
     cout<<*q<<endl;
return 0;
为什么不是输出的数组中的元素?谢谢你,帮助我。
10 回复
#2
rjsp2014-01-10 20:09
这两个for中类型都不匹配,能编译通过吗?
#3
ClarenceC2014-01-12 12:09
回复 2楼 rjsp
不好意思有个纠错--*p 应该是(*p)[3]
#4
ClarenceC2014-01-12 12:12
回复 2楼 rjsp
您好,请你您帮我解决一下啊!困扰我好久了,谢谢
#5
蚕头燕尾2014-01-12 12:14
代码到底是怎样的?

重新贴一遍可好?

#6
ClarenceC2014-01-13 14:51
//略掉头文件
int data[3][3]={
{'2','3','4'},
{'5','6','7'},
{'8','9','0'}
};
for(int (*p)[3]=data;p != data+2; ++p)
  for(int *q=*p;q != p+3;++q)
     cout<<*q<<endl;
return 0;
我想用一个指针遍历多维数组中每个数组中的元素,然后输出各元素,但是编译结果确实另外的连续数字。
#7
lintaoyn2014-01-13 16:32
for(int *q=*p;q != p+3;++q)  ->   for(int *q=*p;q != *p+3;++q)
#8
柳儿2014-01-14 11:36
for(int (*p)[3]=data;p != data+2; ++p)  ->   for ( int ** p = data;p != data+2; ++p)
#9
ClarenceC2014-01-15 15:43
没法。
编译结果是:
505152
535455
565748
不是元素。
#10
ClarenceC2014-01-15 15:43
没法。
编译结果是:
505152
535455
565748
不是元素。
#11
rjsp2014-01-16 11:47
看你很急躁,好心提醒一下:如5楼所言,贴出你的代码。
你应该保证你贴出的代码别人能够编译成功。
1