原题链接:[编程入门]自定义函数之字符串连接
解题思路和注意事项:
思路:定义两个数组,分别用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> void connect(char a[],char b[]) { char c[200]; *c='\0'; strcat(c,a); strcat(c,b); puts(c); } int main() { char a[200]; char b[200]; gets(a); gets(b); connect(a,b); return 0; }各位大佬请教一下为什么我这个输出一直说是答案错误? #include<stdio.h> #include<string.h> int main() { int i; char str1[100]; char str2[100]; char str3[100]; gets(str1); gets(str2); int num1; int num2; int all; all = num1+num2; num1 = strlen(str1); num2 = strlen(str2); for(i=0;i<num1;i++) { str3[i] = str1[i]; } for(i=0;i<all;i++) { str3[num1] = str2[i]; num1++; } str3[all]='\0'; printf("%s",str3); return 0; }```C #include<stdio.h> #define N 100 int main(void) { char a[N], b[N]; gets(a); gets(b); printf("%s%s",a,b); return 0; } ```#include<stdio.h> #include<string.h> void cat(char *a,char *b) { char *t=&a[strlen(a)]; while(*b!='\0') *t++=*b++; } int main() { char a[100],b[100],t[100]; gets(a);gets(b); cat(a,b); puts(a); }#include<stdio.h> #include<string.h> int FlashBack(char a1[],int n1,char a2[],int n2){ for(int i=0; i<=n1 -1; i++){ printf("%c",a1[i]); } for(int i=0; i<=n2 -1; i++){ printf("%c",a2[i]); } return 0; } int main(){ char arr_1[20],arr_2[20]; gets(arr_1); gets(arr_2); int num_1 = strlen(arr_1); int num_2 = strlen(arr_2); FlashBack(arr_1,num_1,arr_2,num_2); return 0; }#include<stdio.h> #include<string.h> int main() { char ch[10],sh[10]; int i,j,n; gets(ch); gets(sh); for(i=0;i<strlen(ch);i++) { printf("%c",ch[i]); } for(j=0;j<strlen(sh);j++) { printf("%c",sh[j]); } return 0; } 这算粗暴解法了吧void Merge(char a[] ,char b[]) { int length = strlen(a); int length_2 = strlen(b); char buff[length + length_2]; for(int i =0;i < length;i++) { buff[i] = a[i]; } for(int i = 0;i < length_2;i++) { buff[length + i] = b[i]; } for(int i = 0;i < length + length_2 ;i++) { printf("%c" ,buff[i]); } }