编一个程序,将两个字符串连接起来,(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语言
#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语言求解详细过程。