用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语言实现两个字符串加到一起
实现两个字符串拼接的C语言代码如下:在代码中,我们首先包含头文件。然后,定义一个名为`my_strcat`的函数,用于将两个字符串拼接在一起。函数的参数包括一个目标字符串`dst`和一个源字符串`src`。在`main`函数中,定义两个字符数组`str1`和`str2`,用于存储输入的字符串。通过`printf`函数提示...

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

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

用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 ...

c语言编程将两个字符串连接起来
include <stdio.h>void fun(char p1[], char p2[]){int i=0,j=0,n=0;while(p1[i]!=0){i++;n++;}while(p2[j]!=0){p1[n]=p2[j];n++;j++;}p1[n]='\\0';}main(){char s1[80], s2[40] ;void NONO (); printf("Enter s1 and s2:\\n"); scanf("%s%s", ...

c语言编程怎么实现字符串连接?
在C语言中,进行字符串连接主要通过使用字符数组和指针实现。strcat函数便是完成这一操作的利器,能够将两个字符串连接在一起。strcat函数的声明为:char *strcat(char *dest, const char *src);这里dest代表目标字符数组,src代表源字符数组。函数执行后,将src中的内容追加到dest的末尾。下面是一个示例...

相似回答