湖畔读书人


私信TA

用户名:2814787590

访问量:128128

签 名:

等  级
排  名 21
经  验 19782
参赛次数 0
文章发表 42
年  龄 0
在职情况 学生
学  校 武汉东湖学院
专  业

  自我简介:

解题思路和注意事项:

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

164 人评分

  评论区

#include<stdio.h>
#include<string.h>
void link(char a[],char b[],int l1,int l2)
{
    char c[9999];
    int i,j,k;
    for(i=0,k=0;i<l1;i++,k++){
        c[k]=a[i];
    }
    for(j=0;j<l2;j++,k++){
        c[k]=b[j];
    }
}
int main()
{
    char a[9999],b[9999],c[9999];
    gets(a);
    gets(b);
    int l1,l2;
    l1=strlen(a);
    l2=strlen(b);
    link(a,b,l1,l2);
    puts(c);
    return 0;
}
哪里有问题
2024-03-18 21:58:17
#include<stdio.h>
#include<string.h>
void link(char arr1[], char arr2[])
{
	int len1 = strlen(arr1);
	int len2 = strlen(arr2);
	int i = 0;
	int j = 0;
	for (i = len2; i < len1 + len2; i++, j++)
	{
		arr1[i] = arr2[j];
	}
}
int main()
{
	char arr1[1000] = { 0 };
	char arr2[1000] = { 0 };
	scanf("%s", arr1);
	scanf("%s", arr2);
	link(arr1, arr2);
	printf("%s\n", arr1);

	return 0;
}
2024-02-05 19:43:54
#include<stdio.h>
#include<string.h>
int main()
{
	char a[100],b[100];
	scanf("%s",&a);
	scanf("%s",&b);
	printf("%s\n",strcat(a,b));
	return 0;
}
2024-01-23 20:23:35
#include <stdio.h>
#include<string.h>
void char_connect(char *p1, char *p2, int m, int n);
void main(void)
{
    char a[100];
    char b[100];
    int m;
    int n;
    
    scanf("%s",&a);
    scanf("%s",&b);

    m = strlen(a);
    n = strlen(b);

    char_connect(&a[0], &b[0], m, n);
    printf("%s",a);
}

void char_connect(char *p1, char *p2, int m, int n)
{
    int i;

    for (i = 0; i < n; i++) 
    {
        *(p1+m+i) = *(p2+i);
    }

}
2023-07-31 15:30:28
#include<stdio.h>
void an(char a[],char b[]);
int main(void){
	char a[100];
	char b[100];
	gets(a);
	gets(b);
	an(a,b);
    return 0;
}
void an(char a[],char b[]){
	printf("%s%s",a,b);
}
2023-07-04 17:43:57
#include <string.h>
void myCat(char ch1[], char ch2[], int sz)
{
	int j = 0;
	for (j = 0; j < sz; j++)
	{
		ch1[strlen(ch1)] = ch2[j];
	}
	printf("%s\n", ch1);
}

int main()
{
	char ch1[20] = { 0 };
	char ch2[10] = { 0 };
	scanf("%s", ch1);
	scanf("%s", ch2);
	int sz = strlen(ch2);
	myCat(ch1,ch2,sz);
	return 0;
}
2023-05-03 13:20:51
#include<stdio.h>
#include<string.h>
int main()
{
	char a[100]={0};char b[100]={0};
	gets(a);
	gets(b);
	for(int i=0;i<strlen(b);i++)
	{
		a[strlen(a)]=b[i];
	}
	printf("%s",a);
	return 0;
}
2023-03-15 23:12:26
#include <stdio.h>
int main()
{
	char arr1[50],arr2[50];
	gets(arr1);
	gets(arr2);
	puts(arr1);
	puts(arr2);
	return 0;
}
为什么这样不行呢?
2023-02-04 20:20:33