解题思路和注意事项:

思路:定义两个数组,分别用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;
}


点赞(14)
 

0.0分

127 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 60 条评论

2年前 回复TA
@Kanays 连接起来变成一个输出,理解错题目了吧
2年前 回复TA
@Kanays 连接起来变成一个输出,理解错题目了吧
王文萱 2年前 回复TA
@uq_13573712741 数组不能直接增减
王文萱 2年前 回复TA
@江雪沉月 指针,地址
王文萱 2年前 回复TA
@Kanays 地址不对,你设了五十个了
末世的悲哀 2年前 回复TA
@uq_13573712741 all = ?
Kanays 2年前 回复TA
#include <stdio.h>
int main()
{
	char arr1[50],arr2[50];
	gets(arr1);
	gets(arr2);
	puts(arr1);
	puts(arr2);
	return 0;
}
为什么这样不行呢?
计科一班赵明 2年前 回复TA
@江雪沉月 萌新请问大佬这个*c是什么意思?
浪费钱 2年前 回复TA
#include<stdio.h>
#include<string.h>
int main()
{
	char arr[50],brr[50];
	gets(arr);
	gets(brr);
	int sz1=strlen(arr);
	int sz2=strlen(brr);
	for(int i=0; i<sz1; i++){
		printf("%c",arr[i]);
	}
	for(int j=0; j<sz2; j++){
		printf("%c",brr[j]);
	}
	return 0;
}
江雪沉月 2年前 回复TA
把楼主的改编一下,这样更满足题目要求
#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;
}