紧急请教高手指点用C++语言写的“字符串连接问题”的程序

来源:百度知道 编辑:UC知道 时间:2024/06/23 20:12:42
题目:
已知二维字符数组char s[][5]={"abcd","efgh","ijkh","mnop"};使用字符串处理函数,将该数组的4个字符串连接起来,组成一个字符串?

请教高手这个题应该怎么样做???紧急啊,一定要帮我啊,希望多多详细指点,重重有赏哦!
以下是我写的一些乱七八糟的程序,我对这题,思路好像好模糊?
#include<iostream.h>
#include<stdlib.h>
#include<stringb.h>
void main()
{
char s[][5]={"abcd","efgh","ijkh","mnop"};
char s1[30]=s[0][5];
char s2[20]=s[1][5];
char s3[10]=s[2][5];
char s4[6]=s[4][5];
strcpy(s3,s4);
strcpy(s2,s3);
strcpy(s1,s2);
cout<<s1<<endl;
system("PAUSE");
}

特别是这种格式的字符串char s[][5]{"abcd","efgh","ijkh","mnop"};
不怎么理解??

char s[][5]={"abcd","efgh","ijkh","mnop"};
char ss[30];
int i;

ss[0] = 0;
for ( i=0; i<4; i++ ) {
strcat(ss, s[i]);
}
ss即为所求。
char s[][5]={"abcd","efgh","ijkh","mnop"};的意思是说明一个数组,数组的元素个数由花括号中的项数决定,在此是4。而每个元素是最多可以容纳5个字符的字符数组。注意字符串"abcd"将要占用5个字符的长度,因为在d的后面还有一个'\0'作为结尾。

char s[][5]{"abcd","efgh","ijkh","mnop"};

二维字符数组,就是一个字符串数组,每个单元内可以存放一个长度为5的字符数组.abcd\0 总共就是5个
char[0]就指向"abcd"
char[0][0]='a';
连接两个字符串可以用strcat

#include<iostream>
#include<cstdlib>
#include<cstring>
using namespace std;
int main()
{
char s[][5]={"abcd","efgh","ijkh","mnop"};
char des[sizeof s] = {'\0'};
for(int i = 0, j = sizeof s / sizeof s[0]; i < j; +