用C语言写一个函数,将两个字符串连接。

作者&投稿:隐钟 (若有异议请与网页底部的电邮联系)
用C语言:写一个函数,将两个字符串连接~

选自:《程序逻辑及C语言》,本视频为字符串的第04小节。主要讲解四个常用的字符串处理函数,包括:求字符串的长度、字符串的赋值、字符串的连接已经字符串大小的比较。具体有案例讲解。

1、新建一个工程和.c文件,输入头文件和主函数。

2、定义变量类型。

3、调用cpy函数。

4、定义一个函数,并定义变量类型。

5、用一个For 语句和if语句判断是否为元音。

6、最后加一个字符串结束符,并在主函数中输出。

7、编译。运行。

1、实际上就是实现strcat这个字符串库函数,在vc自带的crt源码或者linux平台的glibc库中都有strcat的源码,自己可以查阅参考,看看库开发者是如何写代码的,对于学习C语言非常有用。
2、示例
#include <stdio.h>

char *strcat(char *str1, char *str2)
{
if((str1==NULL)||(str2==NULL)) throw "Invalide arguments!";
char *pt = str1;
while(*str1!='\0') str1++;
while(*str2!='\0') *str1++ = *str2++;
*str1 = '\0';
return pt;
}

int main()
{
char a[]= "markyuan";
char b[]= "yyyyy";
char *cat = strcat(a,b);
printf("%s\n",cat);
return 0;
}

#include<stdio.h>
方法一:如mtcat所说,直接用strcat函数
方法二:编程实现strcat的功能
void main()
{ char s1[80],s2[80];
int i=0,j=0;
puts("input two strings:");
gets(s1);
gets(s2);
while(s1[i]!='\0') i++;
while((s1[i++]=s2[j++])!='\0');
printf("result:%s\n",s1);
}

char * string(char a[],char b[])
{
int c,d;
c=strlen(a); //计算字符串a的长度
d=strlen(b); //计算字符串b的长度
char p[c+d+1]; // 建立一个足够存放a和b的字符数组
strcpy(p,a); //将a拷进新建的数组中
strcat(p,b); //把b连接在字符串a的后面
return p;
}

字符串连接:即将字符串b复制到另一个字符a的末尾,并且字符串a需要有足够的空间容纳字符串a和字符串b。
#include<stdio.h>
void mystrcat(char a[],char b[]){//把a和b拼接起来
int i=0,j=0;
while(a[i++]!='\0');
i--;
while(b[j]!='\0'){
a[i++]=b[j++];
}
a[i]='\0';
}
int main()
{
char a[100],b[100];
gets(a);
gets(b);
mystrcat(a,b);
puts(a);
return 0;
}
/*
运行结果:
abc
def
abcdef
*/

strcat(s1,s2);
合并字符串s1,s2,并将其结果保存在s1中.


用C语言编写一个输出字符串的函数。
int main(){ float r,h,s;scanf("%f",&r);scanf("%f",&h);s=2*3.1415926*r*r+2*3.1415926*r*h printf("表面积是%f\\n",s);return 0;}

:使用C语言写一个周长计算的函数(+)(单选题:3分)+A.int+CalcZC(float+...
以下是一个C语言的函数,可以计算矩形的周长:```c include <stdio.h> \/\/ 定义计算周长的函数 int getRectanglePerimeter(int width, int height) { int perimeter = 2 * (width + height);return perimeter;} int main() { int width = 5;int height = 8;int perimeter = getRectanglePeri...

C语言函数怎么写?
int main(){ int i,m=0;for(i=2;i<=100;i+=2) m=m+i;printf("%d\\n",m);return 0;} 或 include int main(){ int i,sum=0;for(i=1;i<=50;i++){ sum=sum+2*i;} printf("2+4+6+…+98+100=%d\\n",sum);return 0;} ...

如何在C语言中定义一个函数?
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。2、在test.cpp文件中,输入C语言代码:int fun(){return 1;}。3、编译器运行test.cpp文件,此时成功调用fun()函数输出了内容。

用c语言写一个查找给定数组a中数值的函数
1 <= n <= 1000。数列(sequence of number),是以正整数集(或它的有限子集)为定义域的函数,是一列有序的数。数列中的每一个数都叫做这个数列的项。排在第一位的数称为这个数列的第1项(通常也叫做首项),排在第二位的数称为这个数列的第2项,以此类推,排在第n位的数称为这个数列...

用C语言写一个删除学生信息的程序。(要求有删除的函数)。
\/\/函数声明,本程序共10个子函数,每个函数对应一个操作 void student_scanf(int n); void student_printf(int n); int student_find_name(int n); int student_find_num(int n); void student_sort_num(int n); void student_sort_sum(int n); int student_alter_num(int n); int student_alter_...

如何写C语言函数?
1、打开C-Free,按ctrl+N创建一个新的文件。2、然后开始调用函数。3、按F9进行调试后发现没有错误。4、按F5执行程序。5、输入想要输入的数字。6、按ENTER键输出结果,检验符合结果,说明函数调用成功。

C语言:以下程序包含一个自定义函数,该函数的功能是接收1个整型参数n...
第一个问号:fun(10)第二个问号:fun(15)include<stdio.h> long fun(int n){ long i,sum=1;for(i=1;i<=n;i++) \/\/ sum=sum*i;return sum;} main(){ long s=0;s= fun(10) + fun(15) ; \/\/ 10!zhi+15!printf("sum=%ld",s);} ...

c语言,定义一个函数intfun(inta,intb,intc)它的功能是若a,b,c能构成...
int intfun(int a,int b,int c){ if(a+b<=c||a+c<=b||b+c<=a)\/*判断是否能构成三角形*\/ return -1; \/\/不构成三角形 else { if((a==c||a==b||b==c )&& !(a==c && a==b))\/*判断是否为等腰三角形*\/ return 2;else if(a==c && a==b)\/*判断是否为等边三角...

写一个C语言函数?
以下是一个使用栈和队列的函数,用于提取字符串数组中的阿拉伯数字并将其倒序添加到原字符串的剩余部分末尾:使用示例:from collections import deque def extract_and_reverse_strings(strings):stack = []queue = deque()result = ""遍历字符串数组 for string in strings:for char in string:判断...

许昌市18916332995: 在C语言编程中,如何利用调用函数来把两个字符串连接起来? -
弘禄疣迪: strcat(a,b)把字符串b连到字符串a后面 举例; strcat("wo","niu");//输出woniu

许昌市18916332995: 用C语言写出一函数,将两个字符串连接,该怎么写 -
弘禄疣迪: void concat(char *s1, int size1, char *s2, int size2, char *sout) {int i;for (i = 0; i < size1; ++i)sout[i] = s1[i];for (i = 0; i < size2; ++i)sout[i + size1] = s2[i];sout[i] = '\0'; } 示例使用方法: char *s1 = "ABCD"; char *s2 = "12345"; char sout[100];...

许昌市18916332995: 用c语言编写一个将两个字符串连接起来函数两个字符串由主函数输入, 连接后的字符串也由主函数输出. -
弘禄疣迪: #include<stdio.h> void main() {void con(char sting1[],char sting2[],char sting3[]);char s1[20],s2[20],s3[40]; printf("Input sting1: ");scanf("%s",s1);printf("Input sting2: ");scanf("%s",s2);con(s1,s2,s3);printf("%s\n",s3); } void con(...

许昌市18916332995: 用C语言写一个函数,将两个字符串连接. -
弘禄疣迪: 1、实际上就是实现抄strcat这个字符串库函数,在vc自带的crt源码或者linux平台的glibc库中都有strcat的源码,自己可以查阅参考,看看库开发者是如何zd写代码的,对于学习C语言非常有用. 2、示例 #include <stdio.h>char *strcat(char *str1, ...

许昌市18916332995: C语言编程:编写一个将两个字符串进行连接的函数. -
弘禄疣迪: #include void lianjie(char a[],char b[]); { strcat(a,b); printf("%s",a); } main() { char s[40],c[20]; printf("qing shuru 1 zifushuzu:\n"); gets(s); printf("qing shuru 2 zifushuzu:\n") gets(c); lianjie(s,c); }

许昌市18916332995: 用C语言编程:编写一个函数,将两个字符串连接起来 -
弘禄疣迪: 一:char* catStr(char str1[],char str2[]) { strcat(str1,str2); return str1;} 二:char* catStr(char str1[],char str2[]) { int i=0; int lenstr1=0; lenstr=strlen(str1) for(i;i { str1[lenstr++]=str2[1]; } return str1;}

许昌市18916332995: 用C语言:写一个函数,将两个字符串连接 -
弘禄疣迪: #include "stdio.h" main() {char a[]="acegikm"; char b[]="bdfhjlnpq"; char c[80],*p; int i=0,j=0,k=0; while(a[i]!='\0'&&b[j]!='\0') {if (a[i] { c[k]=a[i];i++;} else c[k]=b[j++]; k++; } 46c[k]='\0'; if(a[i]=='\0') p=b+j; else p=a+i; strcat(c,p); puts(c); }

许昌市18916332995: c语言 设计函数 连接两个字符串 -
弘禄疣迪: /*! \brief 连接两个字符串 * \param dst 字符串dst地址,也是连接后字符串的存储地址 * \param src 字符串2地址 * \note 必须保证dst剩余的空间能容纳字符串src,否则,调用结果未定义 */#include void join_string(char *dst,const char *src) { int src_...

许昌市18916332995: 编写一个函数,将两个字符串连接起来.C语言题目 急急急!!!!!!!!!!在线等麻烦写完整的,我用的是win - tc. -
弘禄疣迪: char *concat(char *source,char *destin) { while(*source); do{ *source++=*destin; }while(*destin++); }

许昌市18916332995: C语言,编写一个函数,作用是连接两个字符串 -
弘禄疣迪: 错误有三处:1. printf("连接后字符串为:%s",c[80]); 改成printf("连接后字符串为:%s",c); %s读的是字符串的地址,而不是数组2. return c[80]; 你定义的函数为char catStr(char a[], char[]b)类型,意思是返回值为一个字符 如果要返回串的地址,应该写成char * catStr(char a[ ], char b[ ])3. 你返回了函数内c[ ]的地址,c的地址在你每次调用函数时才分配 最好写成void catStr(char a[], char b[], char c[]);

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网