解题思路和注意事项:

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

青索 3年前 回复TA
#include<stdio.h>
int main()
{
    char n;
    while(~(scanf("%c",&n)))
    {
        if(n!=' '&&n!='\n')
            printf("%c",n);
    }
	return 0;
}
SHRREY 3年前 回复TA
@uq_40493935265 学到了,♪(・ω・)ノ
SHRREY 3年前 回复TA
@uq_40493935265 嗯,你的代码我可以运行,没出错
SHRREY 3年前 回复TA
@uq_40493935265 我记得这个用法是: while((e=getchar()) != &#039;
&#039;)
uq_40493935265 3年前 回复TA
为啥一直显示“运行错误呢”,大佬们帮忙看看
#include <stdio.h>

int main(void)
{
	char a[999];
	char b[999];
	char e;
	int i,j,k;
	for(i=0;(e=getchar())!='\n';i++)
		a[i]=e;
	for(j=0;(e=getchar())!='\n';j++)
		b[j]=e;
	for(k=0;k<i;k++)
		putchar(a[k]);
	for(k=0;k<j;k++)
		putchar(b[k]);
	return 0;
}
hero 3年前 回复TA
#include <stdio.h>
#include <string.h>
void cat(char a[],char b[]);
int main(){
char a[2000];char b[1000];
gets(a);gets(b);
cat(a,b);
puts(a);
return 0; 
} 
void cat(char a[],char b[]){
int c =strlen(a);int d = strlen(b);int j=0;int i;
for(i=0;i<=d;i++){

 a[c]=b[j];
 j++;
 c++;}
}
原理
3年前 回复TA
#include<stdio.h>
#include<string.h>
char add(char a[100],char b[100])
{
	int i, j=0, k;
	i = strlen(a);
	while (b[j] != '\0')
	{
		a[i] = b[j];
		j++;
		i++;
	}
	a[i] = '\0';
	return 0;
}
int main()
{
	char c;
	char a[100];
	char b[100];
	gets(a);
	gets(b);
	add(a, b);
	puts(a);
	return 0;
}
热带飞鱼 4年前 回复TA
@热带飞鱼 还非得加 gets
热带飞鱼 4年前 回复TA
#include<stdio.h>

void str_cat(char *p,char * pf);

int main(void)
{
	
	char str_1[100]={"holle"};
	char str_2[100]={"world!"};
	str_cat(str_1,str_2);
	puts(str_1);
}

void str_cat(char *p,char * pf)
{
	char i,j=0;
	char len;
	for(i=0; pf[j]!='\0'; i++)
	{
	   if(p[i]=='\0')
	   {
	      p[i]=pf[j++];
	   }
	}
	  p[i]='\0';
}
这为啥不通过啊
渐入佳境. 4年前 回复TA
写的有点鸡肋,但是过了。。。
#include<stdio.h>
#include<string.h>
int fun(char a[],char b[]){
	int i,j,l1,l2;
	l1=strlen(a);
	l2=strlen(b);	
	for(i=0;i<=l1-1;i++){
		printf("%c",a[i]);
	}
	for(j=0;j<=l2-1;j++){
		printf("%c",b[j]);
	}
} 
int main(){
	char a[10000],b[10000];
	gets(a);
	gets(b);
	fun(a,b);
}