void main()
{ char lj(char m[100],n[100]);//长度任意定,但必须分别大于你要连接的两个字符串
char a[100],b[100];
gets(a);
gets(b);
lj(a,b);
puts(a);
}
char lj(char m[100],n[100])
{
int i,j;
for(i=0;m[i];i++);
for(j=0;n[j]!='\0';i++,j++)
m[i]=n[j];
m[i]='\0';
}
就是这样了,有啥疑问可以问我
#include"stdio.h"
void main()
{
void str_link(char str1[ ],char str2[ ]); //声明str_link函数
char s1[20],s2[20];
printf("任意输入两个字符串,编写函数,实现串的连接。函数原型如下:\n");
printf("void str_link(char str1[ ],char str2[ ]);将串2连接在串1的末尾,形成一个新串\n");
printf("please input s string:\n");
scanf("%s",s1); //输入第一个字符串
printf("please input a string:\n");
scanf("%s",s2); //输入第二个字符串
str_link(s1,s2); //调用str_link函数
printf("%s\n\n",s1);
}
void str_link(char str1[ ],char str2[ ]) //定义str_link函数
{
int i=0,j=0,m=0;
while(str1[i]!='\0') //计算str1的个数
{
m++;
i++;
}
do
{
str1[m]=str2[j]; //将str2复制到str1
m++;
j++;
}while(str2[j]!='\0');
str1[m]='\0';
}
不用strcat连接字符串
#include
int main()
{
int i,j;
char str[300];
char str1[]={"people's republic of "};
char str2[]={" China"};
for(i=0;str1[i]!='\0';i++)
for(j=0;str2[j]!='\0';j++)
{
str[i]=str1[i];
str[i+j]=str2[j];
}
str[i+j]='\0';
puts(str);
return 0;
}
void stringjoin(char *s1, char *s2)
{
while(*s1)
s1++;
while((*s1++ = *s2++) !='\0')
;
}
#include "stdio.h"
char* strcat(char s1[],char s2[])
{
int i,j;
for(i=0;s1[i]!=0;i++)
;
for(j=0;s2[j]!=0;i++,j++)
s1[i]=s2[j];
s1[i]=0;
return s1;
}
int main()
{
char s1[100]="abc",*s;
s=strcat(s1,"def");
printf("%s",s);
return 0;
}