用C语言:写一个函数,将两个字符串连接

如题所述

字符串连接:即将字符串b复制到另一个字符a的末尾,并且字符串a需要有足够的空间容纳字符串a和字符串b。

#include<stdio.h>
void mystrcat(char a[],char b[]){//把a和b拼接起来 
int i=0,j=0;
while(a[i++]!='\0'); 
i--;
while(b[j]!='\0'){ 
a[i++]=b[j++];

a[i]='\0'; 
}
int main()
{
char a[100],b[100];
gets(a);
gets(b);
mystrcat(a,b);
puts(a); 
return 0;
}
/*
运行结果:
abc
def
abcdef
*/
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-20
楼上的人们说得没错,你可以调用库函数的,这个就自己动手查查啦,非要自己写的话,下面提供一个:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char * cat(char * str1, char * str2)
{
int len1, len2;
char * p;

len1 = strlen(str1);
len2 = strlen(str2);
char * str = (char *) malloc((len1+len2+1)*sizeof(*str));
strcpy(str, str1);
p = str + strlen(str1);
strcpy(p, str2);
return str;
}

int
main(void)
{
char * str = (char *) malloc(1024*sizeof(*str));
char * s = (char *) malloc(1024*sizeof(*s));
gets(str);
gets(s);
printf( "%s\n", cat(str, s) );

return 0;
}

楼主,要学会查库,库里面提供了很多有用的函数,不是什么都要自己写的。我上面的程序也调用了strcpy。不然就又得自己搞个循环赋值。本回答被提问者采纳
第2个回答  2020-03-11

#include<stdio.h>

#include<string.h> 

main()

{

char s1[100],s2[100];

printf("Input string1:");

scanf("%s",s1);

printf("\ninput string2:") ;

scanf("%s",s2);

printf("\nThe new string is %s",strcat(s1,s2));

}

运行结果

第3个回答  2006-12-19
char* my_strcat(char *str1, char *str2)
{
int i=0, j=0;
if (!str1 && !str2)
return NULL;
else if (!str1)
return str2;
else if (!str2)
return str1;
else
{
while(str1[i] != '\0')
{
i++;
}
for (; str2[j] != '\0'; j++)
{
str1[i+j] = str2[j];
}
str1[i+j] = '\0';
return str1;
}
}
第4个回答  2020-05-15

选自:《程序逻辑及C语言》,本视频为字符串的第04小节。主要讲解四个常用的字符串处理函数,包括:求字符串的长度、字符串的赋值、字符串的连接已经字符串大小的比较。具体有案例讲解。

用C语言:写一个函数,将两个字符串连接
字符串连接:即将字符串b复制到另一个字符a的末尾,并且字符串a需要有足够的空间容纳字符串a和字符串b。include<stdio.h>void mystrcat(char a[],char b[]){\/\/把a和b拼接起来 int i=0,j=0;while(a[i++]!='\\0'); i--;while(b[j]!='\\0'){ a[i++]=b[j++];} a[i]='\\0...

用C语言写一个函数,将两个字符串连接。
1、实际上就是实现strcat这个字符串库函数,在vc自带的crt源码或者linux平台的glibc库中都有strcat的源码,自己可以查阅参考,看看库开发者是如何写代码的,对于学习C语言非常有用。2、示例 include <stdio.h> char *strcat(char *str1, char *str2){ if((str1==NULL)||(str2==NULL)) throw "...

用C语言编程:编写一个函数,将两个字符串连接起来
1、新建一个工程和.c文件,输入头文件和主函数。2、定义变量类型。3、调用cpy函数。4、定义一个函数,并定义变量类型。5、用一个For 语句和if语句判断是否为元音。6、最后加一个字符串结束符,并在主函数中输出。7、编译。运行。

用C语言编程:编写一个函数,将两个字符串连接起来
一:char* catStr(char str1[],char str2[]){ strcat(str1,str2);return str1;} 二:char* catStr(char str1[],char str2[]){ int i=0;int lenstr1=0;lenstr=strlen(str1)for(i;i<=strlen(str);i++){ str1[lenstr++]=str2[1];} return str1;} ...

怎样用c语言编程将两字符串连接
1. 用 strcat 函数连接两个字符串。2.以下是相关字符串处理 a=' a';b='b b';c='cccc';m='' % 获取字符串长度 length(a) % 连接两个字符串,每个字符串最右边的空格被裁切 d=strcat(a,c) length(d) % 连接多行字符串,每行长度可不等,自动把非最长字符串最右边补空格 % ...

编写一个函数实现两个字符串的连接(不使用库函数strcat).这个用C语...
void fun (char s1[],char s2[]){ int i,j;for (i=0;s1[i] !=’\\0’; i++); \/*求出的i为pA字符的总长度,包括结束标记位*\/ for (j=0;s2[j] !=’\\0’; j++)s1[i++]=s2[j]; \/*将pB字符串连在pA字符串的后面*\/ s1[i]='\\0’; \/*在字符串最后加上结束标记符*...

c语言! 编一程序,将两个字符串连接起来,不要用strcat函数.
include<stdio.h>void mystrcat(char a[],char b[]){\/\/字符串连接函数 int i=0,j=0;while(a[i++]!='\\0');\/\/找到a的结束位置 i--;while(b[j]!='\\0'){\/\/把b元素赋值到a中 a[i++]=b[j++];} a[i]='\\0';\/\/加上结束标志 }int main(){char a[100],b[100];scanf(...

C语言 编写函数strcat把给定的两个字符串连接起来
为实现字符串连接,运用C语言编写了一个函数。该函数名叫做"connect",接收两个字符数组参数str1和str2。函数内部首先定义了两个整型变量i和j。i的值被设定为str1数组的长度,而j则用于遍历str2数组直到遇到'\\0'结束符。接着,通过一个for循环,将str2数组中的字符逐个添加到str1数组后部。这个过程...

c语言编程题:定义函数con()将两个字符串连接,主函数输入两个字符串,调...
include <stdio.h> void con(char*s1,char*s2){int i,j;for(i=0;s1[i];i++);for(j=0;s1[i++]=s2[j++];);} int main(){ char s1[200],s2[100];gets(s1);gets(s2);con(s1,s2);puts(s1);return 0;}

用c语言编写一个将两个字符串连接起来函数两个字符串由主函数输入, 连 ...
void main(){ void con(char sting1[],char sting2[],char sting3[]);char s1[20],s2[20],s3[40];printf("Input sting1: ");scanf("%s",s1);printf("Input sting2: ");scanf("%s",s2);con(s1,s2,s3);printf("%s\\n",s3);} void con(char sting1[],char sting2[],char ...

相似回答