C++ 指向数组指针 for循环嵌套,谁能告诉我这个怎么算?

#include<iostream>usingnamespacestd;inta[][3]={1,2,3,4,5,6,7,8,9};intmain(){int(*pa)[... #include <iostream>
using namespace std;
int a[][3] ={1,2,3,4,5,6,7,8,9};
int main()
{
int (*pa) [3] (a);
//这里是定义指向函数组a的指针 是不是 相当于(*pa)[3](a)=&a[ ] [3]? 但是名称不太对啊。。

for(int j=0;i<3;j++)
{
cout<<"\n";
for(int j=0;i<3;j++)
{
cout<<*(*(pa+i)+j)<<" ";
}
}
cout<<"\n"‘;
return 0;
}
我还想知道 这里的for循环嵌套 是如何算的? 是计算完 j=0之后 计算i<3 为非零 ;然后输出\n 之后计算j++ 在进入下一个for循环么? 还是将第一个循环完全做完再进入后一个for循环?

顺便求一下 上投那个指针的定义详细的解释。。 有点看不懂。。
*(*(pa+i)+j) 这一个式子能不能帮我详解下?
展开
 我来答
百度网友6fe74e2
2013-03-09 · TA获得超过6592个赞
知道大有可为答主
回答量:1973
采纳率:100%
帮助的人:258万
展开全部

你的代码有很多问题,

#include <iostream>

using namespace std;

int a[][3]  ={1,2,3,4,5,6,7,8,9};

int main()

{

  int (*pa) [3] =a; 

  //这里是定义指向函数组a的指针pa,

 

 

    for(int i=0;i<3;i++)//二维数组的行数i

    {

             cout<<"\n";

             for(int j=0;j<3;j++)//列数j

             {

                  cout<<*(*(pa+i)+j)<<" ";

              }

    }

    cout<<"\n";

    return 0;

}

运行结果:

 

*(*(pa+i)+j)==pa[i][j]因为指针变量pa是指向一个含3个元素的数组a

所以pa[i][j]==a[i][j]

 

可以多去参考一下指向数组的指针,一两句话是讲不完的。

追问
那这个  这里的for循环嵌套  是如何算的?   是先算里头那个for循环么?
百度网友68ea1f294
2013-03-09 · TA获得超过120个赞
知道小有建树答主
回答量:99
采纳率:0%
帮助的人:101万
展开全部
i 没赋初值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式