原题链接:[编程入门]自定义函数之字符串连接
解题思路和注意事项:
思路:定义两个数组,分别用gets()函数输入,再用strcat()进行连接,最后用puts()函数进行输出即可。
函数用法:gets()和puts()函数请见上一篇文章。
strcat()就是将两个char型进行连接,在头文件string.h中。
表现形式:strcat(a,b)。把a所指字符串添加到b结尾处(覆盖a结尾处的'\0')。
注意:a和b所指内存区域不可以重叠且a必须有足够的空间来容纳b的字符串。
参考代码:
#include<stdio.h>
#include<string.h>
int main()
{
char a[1000],b[1000];
gets(a);
gets(b);
strcat(a,b);
puts(a);
return 0;
}0.0分
127 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
#include<stdio.h> #include<string.h> int fun(char a[],char b[]) { strcat(b,a); } int main() { char a[100]; char b[100]; fun(gets(a),gets(b)); puts(b); return 0; } 这样符合题意吗?#include<stdio.h> #include<string.h> int fun(char a[],char b[]) { return 0; } int main() { char a[100]; char b[100]; fun(gets(a),gets(b)); printf("%s%s\n",b,a); return 0; } 我这样写符合题意吗?#include <stdio.h> #include <string.h> char connect( char a[],char b[]); int main() { char a[1000]; char b[1000]; gets (a); gets (b); connect (a,b); puts (a); } char connect( char a[],char b[]){ int i=0; int k=0; int len1 = strlen(a); int len2 = strlen(b); for( i= len1; i< len1 + len2 ; i++){ a[i] = b[k]; k++; } a[i]='\0'; return *a; }#include<stdio.h> #include<string.h> f(char *s1,char *s2,char *s3) { int i,j,p,t=0; for(;*s1!='\0';) *s3++=*s1++; j=i; for(;*s2!='\0';) *s3++=*s2++; *s3++='\0'; } int main() { int i; char a[200],b[200],c[400]; gets(a); gets(b); f(a,b,c); puts(c); }不符合题意还优质题解,不知验题君咋想的。以下不算最好但是至少符合题意 //字符串追加 #include<stdio.h> #include<string.h> void Addchar(char* p1, char* p2); void Addchar(char* p1, char* p2) { int nLength1 = strlen(p1); int nLength2 = strlen(p2); memcpy(p1 + nLength1, p2, nLength2); p1[nLength1 + nLength2] = '\0'; } int main() { char a[100]; char b[100]; gets_s(a); gets_s(b); Addchar(a, b); puts(a); return 0; }