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

致向数组的指针 怎么遍历 关系全家老小吃饭有关问题 帮忙

2013-11-11 
在线等 致向数组的指针 如何遍历关系全家老小吃饭问题帮忙啊有这样一个数组,知道指针,想把传到一个函数里

在线等 致向数组的指针 如何遍历 关系全家老小吃饭问题 帮忙啊
有这样一个数组,知道指针,想把传到一个函数里面,然后进行遍历,对方就给出了头函数,让我实现,帮忙啊

想不出来怎么办, 求啊,关系全家老小吃饭问题




const char * strs[] = {
"ape", "apes", "apse", "asp", "pas", "pase", "pea",
"peas", "pes", "sae", "sap", "sea", "spa", "spae"
};

Boggle A;
A.solve(strs);





void Boggle::Solve( const char * a_Grid) const
{
在这里把他们一个一个的打出来 a_Grid 里面的东东
}
指针 遍历
[解决办法]
参数应该是char* a_Grid[]或者是char** a_Grid吧,就char * a_Grid输入的只是单个字符串不是串组吧
while (a_Grid)
{
    printf("%s", a_Grid++);
}
[解决办法]
可以这么做:

const char * strs[] = {
"ape", "apes", "apse", "asp", "pas", "pase", "pea",
"peas", "pes", "sae", "sap", "sea", "spa", "spae",NULL //加一个NULL表示结束,可以用0
};

Boggle A;
A.solve(strs);


void Boggle::Solve( const char ** a_Grid) const
{
assert(a_Grid);//断言指针非空,传入空指针,调试出错。
if(!a_Grid)return ;//保证指针非空。 
  //在这里把他们一个一个的打出来, a_Grid 里面的东东。
   while(*a_Gird){
    std::cout<<*a_Gird++ <<std::endl;
   }
}

[解决办法]
用模板推导长度呗

template <int N>
void solve(const char *(&strs)[N])
{
  for (int i = 0; i < N; ++i) {
    cout << strs[i] << endl; 
  }
}

热点排行