C语言中怎样设计一个函数实现两个字符串的连接

C语言中怎样设计一个函数实现两个字符串的连接,谢谢... C语言中怎样设计一个函数实现两个字符串的连接,谢谢 展开
 我来答
百度网友b0e28cae4
推荐于2016-05-25 · TA获得超过4016个赞
知道大有可为答主
回答量:1275
采纳率:85%
帮助的人:601万
展开全部
1)简单来,直接用 strcat 函数,需要包含头文件 string.h

2)自己实现的话也不麻烦,但是要考虑一些细节:
假设两个字符串指针为 str1,str2 ,现在要讲 str1 和 str2 连接成一个新的字符串。
a.考虑指针 str1,str2 是否非空
b.如果将str2的内容直接连接到str1的末尾,要考虑str1是否有足够的剩余空间来放置连接上的str2的内容。
如果用一个新的内存空间来保存str1和str2的连接结果,需要动态分配内存空间。
328186935
2012-04-15
知道答主
回答量:18
采纳率:0%
帮助的人:9.6万
展开全部
这个你可以定义两个字符数组。把那些需要合并的字符分别放在两个字符数组里。strcat函数将两个数组合并。例如 char arr1[10]="k", char arr2[2]="OM"; 用strcat(arr1,arr2);后面的就合并到arr1.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陕B4444
2012-04-15 · 超过70用户采纳过TA的回答
知道小有建树答主
回答量:207
采纳率:0%
帮助的人:78.2万
展开全部
char * strcat(char *s, const char *append)
{
//将s所指向的字符串的首地址保存下来,以便使用
char *save = s;
//将s所指向的字符串的首指针移至串尾处,s指针指向的字符元素为'\0'
for (; *s; ++s);
//将append所指的字符串的元素复制到s所指向的字符串尾部,直至遇到'\0'
while ((*s++ = *append++) != '\0');
//返回追加后的字符串首地址
return(save);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱思鱼
2012-04-15 · 超过17用户采纳过TA的回答
知道答主
回答量:74
采纳率:0%
帮助的人:49.3万
展开全部
#include "Stdio.h"
void cac(char s1[100],char s2[100])
{
int i=0,j=0;
while(s1[i]) i++ ;
i--;
while(s2[j])
s1[i++]=s2[j++];
s1[i]='\0';
}

int main(void)
{
char c1[100]={'\0'};
char c2[100]={'\0'};

printf("input c1:");
gets(c1);
printf("input c2:");
gets(c2);

cac(c1,c2);

puts(c1);

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千岛j玉叶
2012-04-15 · TA获得超过854个赞
知道小有建树答主
回答量:331
采纳率:0%
帮助的人:129万
展开全部
void __strcat(char *str1, const char *str2)
{
ASSERT(str1!=NULL);
int nLen = strlen(str1);
char *p = str1+nLen;
while( ( *p++ = *str2++) != '\0');
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式