c++:编写一个函数void my_strcat(char s1[],char s2[]),将s2中的字符串拷贝到数组s1尾部,要求:

编写一个函数voidmy_strcat(chars1[],chars2[]),将s2中的字符串拷贝到数组s1尾部,要求:1不允许使用c语言的库函数strcat()2在主函... 编写一个函数void my_strcat(char s1[],char s2[]),将s2中的字符串拷贝到数组s1尾部,要求:
1不允许使用c语言的库函数strcat()
2在主函数中输入两个字符串,调用函数my_strcat()进行字符串连接,并在主函数中输出字符串s1和s2的内容(s1足够长就行)
(简单点我是初学者)
展开
 我来答
xoalyg
2011-11-20 · TA获得超过4178个赞
知道大有可为答主
回答量:2356
采纳率:100%
帮助的人:2388万
展开全部

#include <stdio.h>

char *strcat(char s1[],char s2[]) {  // 数组法

int i,j,len1 = 0,len2 = 0;

for(i = 0;s1[i];i++) len1++;

for(i = 0;s2[i];i++) len2++;

for(i = len1,j = 0;i < len1 + len2;++i,++j) 

s1[i] = s2[j];

s1[i] = '\0';

return s1;

}

void main() {

char s1[100] = "Visual C++ 2010 完全手册 ";

char s2[] = "ISO/ANSI C++ Windows";

printf("%s\n%s\n",s1,s2);

printf("\n%s\n\n",strcat(s1,s2));

}

追问
要scanf的谢谢而且有错饿
汪好帅
2011-11-20 · TA获得超过2830个赞
知道大有可为答主
回答量:1177
采纳率:0%
帮助的人:1423万
展开全部
#include <stdio.h>

#include <string.h>

void my_strcat(char s1[],char s2[])
{
int m=strlen(s1); //调用了求字符串长度的函数。如果你也不想使用的话,相信你自己会做。
int n=strlen(s2);
int i;
for(i=0;i<n;i++)
{
s1[m+i] = s2[i];
}
s1[m+n] = '\0';

return ;
}

void main()
{
char s1[100]="xiongshuai",s2[]="xiha";
my_strcat(s1,s2);

puts(s1);
puts(s2);
}

有问题请追问,满意请采纳
追问
测试对了但是没有效果
追答
没有效果,是指什么?
你需要输入的话,那就改一下前面输入的过程吧
char s1[100],s2[20];
gets(s1);
getchar(); //这句去掉回车的影响
gets(s2);
这样就输入了两个字符串吧
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式