C语言 编写函数strcat(char *str1,char *str2,char *str3)

将字符串str1和str2连接后放入str3中,并编写main()调用上述函数实现两个字符串的连接

接标题 求解答 急

其中,strcat函数原型如下:
char *strcat(char *strDest, const char *strSrc)
{ char *address = strDest; //该语句若放在assert之后,编译出错
assert((strDest != NULL) && (strSrc != NULL)); //对源地址和目的地址加非0断言
while(*strDest) //是while(*strDest!=’\0’)的简化形式
{
strDest++;
} //这个循环的目的是让指针strDest指向其字符串的最后一位'\0'
while(*strDest++ = *strSrc++)
{
NULL;
} //这个循环是将字符串strSrc加到strDest的后面
return address; //为了实现链式操作,将目的地址返回
}

你给的函数返回类型是void,把最后的return行删去就行了
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-06-21

#include<stdio.h>

void strcat(char *str1,char *str2,char *str3)

{for(;*str3++=*str1++;);

for(str3--;*str3++=*str2++;);

}

int main()

{ char s1[]="Hello ",s2[]="world!",s3[20];

strcat(s1,s2,s3);

printf("%s\n",s3);

return 0;

}

第2个回答  2019-06-21
#include<stdio.h>
void strcat(char *str1,char *str2,char *str3) {
while ( *str1 ) { *str3=*str1; str3++; str1++; }
while ( *str2 ) { *str3=*str2; str3++; str2++; }
*str3=0;
}
void main() { char s1[256],s2[256],s3[256];
scanf("%s",s1); scanf("%s",s2); strcat(s1,s2,s3); printf("%s\n",s3);
}

用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语言字符串7个处理函数
1. 字符串连接函数:strcat()原型:`char *strcat(char *str1, const char *str2);`该函数将字符串`str2`连接到字符串`str1`的末尾,并返回指向结果字符串的指针。2. 字符串查找函数:strchr()原型:`char *strchr(const char *str1, const char *str2);`该函数搜索字符串`str1`中首次出...

C语言编写一个程序输入两个字符串1和字符串2(两个字符串长度不超过20...
说白了就是strcat char *strcat(char *strDest, const char *strSrc) \/\/将源字符串加const,表明其为输入参数 { char *address = strDest; \/\/该语句若放在assert之后,编译出错 assert((strDest != NULL) && (strSrc != NULL)); \/\/对源地址和目的地址加非0断言 while(*strDest) \/\/是wh...

C语言用指针编程实现strcat函数的功能
1、首先打开vs2014,新建一个项目。2、添加头文件。3、添加main主函数。4、定义一个函数addTwoNumbers。5、在main函数定义a,b,sum。6、声明函数指针ptr_sum。7、将addTwoNumbers函数地址赋值给ptr_sum。8、运行程序,看看结果。

C语言编程 mystrcat函数
char *mystrcat(char *str1, char *str2){ char *p; for(p=str1;*p!='\\0';p++); for(;*str2!='\\0';p++,str2++) *p=*str2; *p='\\0'; return str1;}

请问C语言中strstr(strcat(str1,str2),str3)是什么意思
strstr(strcat(str1, str2), str3);用于将str2连接到str1后面,构成新的字符串,然后在新字符串中查找包含str3的位置,同时将该位置以后的字符串整个返回。strcat(str1, str2)是将str2连接到str1末尾,由于strcat没有做字符串长度检查,必须保证传入的str1的剩余空间能够容纳 下str2,比如:char ...

编C语言程序:用自定义函数实现字符串处理函数strcat、 strcpy、strcmp...
space in dest.Entry:char *dst - string to which "src" is to be appended const char *src - string to be appended to the end of "dst"Exit:The address of "dst"Exceptions:\/ char * __cdecl strcat (char * dst,const char * src ){ char * cp = dst;while( *cp )cp++;...

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

C语言的字符串函数strcat()和strncat()
strcat()函数专门用于连接字符串,其语法格式为:char strcat(char dest, const char *src)。在使用strcat()函数时,需确保dest指向的内存与src指向的内存不重叠,并且dest有足够的空间容纳src字符串。strcat()会覆盖dest字符串末尾的结束字符NULL,然后在连接后的字符串尾部再增加一个NULL。函数返回值是...

C语言..strcat
原型:char *strncat(char *dest,char *src,int n);用法:#include <string.h> 功能:把src所指字符串的前n个字符添加到dest结尾处(覆盖dest结尾处的'\\0')并添加'\\0'。说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。举例:include <stdio...

相似回答