编一个程序,将两个字符串连接起来,(1)用strcat函数(2)不用strcat函数。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编一个程序,将两个字符串连接起来,(1)用strcat函数(2)不用strcat函数。相关的知识,希望对你有一定的参考价值。

(1)用strcat函数

#include <stdio.h>

#include <string.h>

int main ()

char src[50], dest[50];

strcpy(src,  "This is source");

strcpy(dest, "This is destination");

strcat(dest, src);

printf("最终的目标字符串: |%s|", dest);   

return(0);

(2)不用strcat函数

#include <stdio.h>

#include <string.h>

#define N 200

#define M 100

int main(void)

char str1[N],str2[M];

int cou1 = 0,cou2 = 0;// 初始化下标

printf("input string1:\\n");// 提示输入字符串1

gets(str1);// 输入字符串1

printf("input string2:\\n");// 提示输入字符串2

gets(str2);// 输入字符串2

for(cou1 = strlen(str1); str2[cou2] != '\\0'; cou2++)

str1[cou1 ++] = str2[cou2];

str1[cou1] = '\\0';// 对处理过的字符串加上结束标志'\\0',没有'\\0'就是字符数组不是字符串

printf("new string is:\\n%s\\n",str1);// 输出处理过的字符串

return 0;

扩展资料:

需要说明的是:

1、一个C语言源程序可以由一个或多个源文件组成。

2、每个源文件可由一个或多个函数组成。

3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。

4、源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。

5、每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“”之后不能加分号。结构体、联合体、枚举型的声明的“”后要加“ ;”。

6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。

7、通过strlen可以得到字符串的实际长度(不包含’\\0’);字符串的结尾是’\\0’。

参考资料:

百度百科-c语言

参考技术A 1)
#include<stdio.h>
#include<string.h>
main()

char a[20]="1234";
char b[]="abcd";
strcat(a,b);
printf("%s\n",a);

2)
#include<stdio.h>
#include<string.h>
main()

char a[20]="1234";
char b[]="abcd";
int i,j;
for(j=0,i=strlen(a);b[j]!='\0';i++,j++)

a[i]=b[j];

a[i]='\0';
printf("%s\n",a);
追问

怎么直接连起来了啊

追答

编一个程序,将两个字符串连接起来,
你不是就是要连接起来嘛

追问

不是啊 我的意思是 先输入 比如先输入"who are you"和"my name is dyq" ,按回车才会出现这两个连起来的句子哦 你再改改呗

追答

那就不把两个数组直接赋值,改成输入赋值嘛
main()

char a[100];
char b[30];
int i,j;
gets(a);
gets(b);
以下不写了.

追问

不行啊 运行结果没连起来啊 我C语言真不行啦

追答

我上面说 “以下不写了” 不是说没程序了,是我回答时不用再写一次了吧,下面就是第一次回答时的程序了。哎,给你全的吧。
main()

char a[100];
char b[30];
gets(a);
gets(b);

strcat(a,b);
printf("%s\n",a);

第二种
main()

char a[100];
char b[30];
int i,j;
gets(a);
gets(b);
for(j=0,i=strlen(a);b[j]!='\0';i++,j++)

a[i]=b[j];

a[i]='\0';
printf("%s\n",a);

本回答被提问者采纳

7.13编写一程序将两个字符串连接起来,不使用stracat函数

7.13编写一程序将两个字符串连接起来,不使用stracat函数

输入的时候,注意字符串的长度。

#include<stdio.h>//7.13 编写一个程序,将两个字符串连接起来,不要用strcat函数。  
int main()  
{  
    char c1[20],c2[20];  
    int i=0,j=0;  
    printf("Input string1:");  
    gets(c1);  
    printf("Input string2:");  
    gets(c2);  
    while(c1[i]!=‘\0‘){
        i++;
    }
    while(c2[j]!=‘\0‘){
        c1[i++]=c2[j++];
    }  
    c1[i]=‘\0‘;  //给出c1字符串的结束符,此时,c1和c2的长度和可以是20
    puts(c1);  
    return 0;  

 

以上是关于编一个程序,将两个字符串连接起来,(1)用strcat函数(2)不用strcat函数。的主要内容,如果未能解决你的问题,请参考以下文章

7.13编写一程序将两个字符串连接起来,不使用stracat函数

编写一个程序,将两个字符串连接起来,并输出(不要使用strcat函数)。用C语言求解详细过程。

将两个字符串连接起来,不要用strcat函数。

在c语言或者php 怎么将两个或多个常量连接起来,比如一个常量为1 另一个常量为2 连接成12

C语言:将两个字符串连接起来。

javascript连接许多字符串,且用空格隔开,有没有啥方便的写法?