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足够长就行)
(简单点我是初学者) 展开
1不允许使用c语言的库函数strcat()
2在主函数中输入两个字符串,调用函数my_strcat()进行字符串连接,并在主函数中输出字符串s1和s2的内容(s1足够长就行)
(简单点我是初学者) 展开
2个回答
展开全部
#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的谢谢而且有错饿
展开全部
#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);
}
有问题请追问,满意请采纳
#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);
这样就输入了两个字符串吧
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询