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

。C++二维数组引用的有关问题

2012-09-11 
求助。C++二维数组引用的问题#includeiostream#includestringusing namespace stdint main(){void exc

求助。C++二维数组引用的问题
#include<iostream>
#include<string>
using namespace std;
int main()
{
void exchange(char &a,char &b,char &c);
char a[3][20];
int i;
for(i=0;i<3;i++)
cin>>a[i];
exchange(a[1],a[2],a[3]);
cout<<a[1]<<' '<<a[2]<<' '<<a[3]<<endl;
return 0;
}

void exchange(char &a,char &b,char &c)
{
void ex(char &a,char &b);
if(a>b)ex(a,b);
if(a>c)ex(a,c);
if(b>c)ex(b,c);
}

void ex(char &a,char &b)
{
char temp;
temp=a,a=b,b=temp;
}


编译出错,说明二维数组不能用引用么?如果非要用二维数组引用由方法么?
不要用三个一维数组做

[解决办法]

C/C++ code
#include<iostream>#include<string>using namespace std;void exchange(char *a, char *b, char *c);void ex(char *a, char *b);int main(){    char a[3][20];    for(int i=0; i<3; i++)        cin>>a[i];     exchange(a[0], a[1], a[2]);    cout<<a[0]<<' '<<a[1]<<' '<<a[2]<<endl;    return 0;}void exchange( char *a, char *b, char *c ){//这样比大小没用的,逐个比字符    if(a>b)    ex(a, b);    if(a>c)    ex(a, c);    if(b>c)    ex(b, c);}void ex(char *a,char *b){    int len;    char c;    len = strlen(a);    if (strlen(b) > len)         len = strlen(b);    for (int i=0; i<len; i++)    {        c=a[i];        a[i]=b[i];        b[i]=c;    };  } 

热点排行