用C语言编程:编写一个函数,将两个字符串连接起来

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

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

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
",cat);
return 0;
}

#include
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
",s3);
}
void con(char sting1[],char sting2[],char sting3[])
{
int i,j;
for(i=0;sting1[i]!='\0';i++)//////////////////////////多个分号
sting3[i]=sting1[i];

for(j=0;sting2[j]!='\0';j++)//////////////////////////多个分号
sting3[i+j]=sting2[j];
sting3[i+j]='\0';
}

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

2、定义变量类型。

3、调用cpy函数。

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

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

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

7、编译。运行。



#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(char sting1[],char sting2[],char sting3[])
{
int i,j;
for(i=0;sting1[i]!='\0';i++)//////////////////////////多个分号
sting3[i]=sting1[i];

for(j=0;sting2[j]!='\0';j++)//////////////////////////多个分号
sting3[i+j]=sting2[j];
sting3[i+j]='\0';
}


#include <stdio.h>
void main()
{
char s1[80],s2[40];
int i=0,j=0;
printf("\nInput the first string:");
scanf("%s",s1);
printf("\nInput the second string:");
scanf("%s",s2);
while (s1[i] !='\0')
/**********FOUND**********/
i++;
while (s2[j] !='\0')
/**********FOUND**********/
s1[i++]=s2[j++]; /* 拼接字符到s1 */
s1[i] ='\0';
printf("\nNew string: %s",s1);
}

#include<stdio.h>
char *catstr(char *a,char *b)
{
char *p=a,*q=b;
while(*p) p++;
while(*q)*p++=*q++;
*p='\0';
return a;
}
void main()
{
char s1[50]="abcdef";
char s2[]="12345678890";
printf("s1+s2=%s\n",catstr(s1,s2));
}

其实楼上的
char *q这个变量没什么意义!
b作为参数传递进来以后本身就另外一个临时的指针变量来保存,并不会影响原先参数的地址值。
不信大可把q变量去掉 (*q)改为(*b) *q++改为*b++结果一样。


C语言编程:已知一个长度为10的一维数组arr,编写函数,求出第m个数到第...
} void main(){ int arr[10]={NULL};int i,num,m,n;printf("请输入十个数:\\n");for(i=0;i<10;i++)scanf("%d",(arr+i));printf("请输入m: ");scanf("%d",&m);printf("请输入n: ");scanf("%d",&n);num=getTotal(arr,m-1,n-1);printf("result = %d",num);} ...

C语言一道简单的数组编程题 编写一个程序,把1到1000放入数组中,并把能...
include<stdio.h> main(){ int i, num[1024], cot = 0;for(i = 1; i <= 1000; i++){ num[i - 1] = i;\/\/存储 if(i % 7 == 0 || i % 11 == 0){ if(i % 77 != 0){ cot++;printf("%d ", i);if(cot == 5){ puts("");cot = 0;} } } } } ...

c语言编程:用数组名作函数参数,编写一个对一维数组求平均值的函数,并在...
void main(){ float a[50];int i,n=0;for(i=0;getchar()!='\\n';i++){ scanf("%f",&a[i]);n++;} printf("平均值是:%f",b(a,n) ); \/\/<<<b这个函数传的是数组的首地址 } float b(float arr[],int n){ float sum=0,c;int i;if(n==0)return(0);for(i=0;i<...

C语言编程 1:输入一行字符,求其中数字,英文字母,空格,其他字符的个数...
{s+=h;h\/=2.0;} printf("总路程:%.6lf米\\n第10次反弹高度:%.6lf米\\n",s,h);return 0;} include <stdio.h> int main(){int i,j,k,n;double s=0.0;i=2;j=1;for(n=0;n<20;n++){s=(double)i\/j;k=i+j;j=i;i=k;} printf("%.8lf\\n",s);return 0;} ...

编程如何用C语言编写一个学生成绩管理系统程序
2018-04-27 用C语言编程实现一个简单的学生成绩管理系统 4 2012-07-23 怎样用c语言编写一个学生成绩管理系统 4 2015-01-15 怎么用c语言编写一个学生成绩管理系统啊?急…… 2 2009-07-21 用C语言写个学生成绩管理系统程序 2013-06-16 用C语言编写一个学生管理系统。 227 2015-07-14 用C语言编程...

C语言编程题,请编写设计一个延时子函数delaynms(int n)用来延时0.5秒的...
声明定义:void delaynms(int n) \/\/n: millisecond{ int i,j; for(i=0;i<n;i++) for(int j=0;j<500);}调用:delaynms(500); \/\/delay 0.5 second

C语言编程题目
下面是一些C编程题目:1. 编写程序,从键盘输入两个整数,输出它们的和、差、积、商、余数。2. 编写程序,从键盘输入三角形的三条边长,判断它们是否可以构成三角形,并输出三角形的类型(等边、等腰、一般)。3. 编写程序,从键盘输入字符串,统计其中的大写字母、小写字母、数字和其他字符的个数,并...

c语言编程题及答案
【4.2】输入年份year和月month,求该月有多少天。判断是否为闰年,可用如下C语言表达式:year%4==0 && year0!=0 || year@0==0。若表达式成立(即表达式值为1),则year为闰年;否则,表达式不成立(即值为0),year为平年。【4.3】编写一个简单计算器程序,输入格式为:data1 op data2。

编写一个函数名为countc函数,要求如下
2013-10-19 用c语言编写一个函数,题目如下 2010-01-24 C语言编程题,编一个排序函数啊! 6 2016-05-14 count是excel中的一个函数,它的用途是计算所选单元格... 2013-11-12 C++程序, 编写一个名为countAlpha的函数,可以输... 6 2014-01-03 求答案 c语言编程:编写函数int StrCount(cha... 2 ...

c语言 编写程序
链表创建使用creat函数,每调用一次创建一个节点。第一次调用函数会自己创建头节点内存。打印输出部分,只要打印第一个节点,只要stuHead->next就可以了。我这里写循环里,是演示遍历链表,你把break去掉就是打印整个链表。include<stdio.h> include<malloc.h> typedef struct stuInfo { int id;\/\/学号 ...

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

三河市15873565705: c语言 写一个函数能将两个字符串连接,在主函数中调用 -
白梵必诺: 这样就可以了,我已经在vc6通过调试运行了,不过要注意一点哦,虽然c语言里面没有string类型的变量,但是在c++里面有,所以为了防止不必要的麻烦,你这里的变量名字最好不要用string#include<stdio.h> void stringcat(char str1[],char str2[],...

三河市15873565705: 用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(...

三河市15873565705: 用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];...

三河市15873565705: C语言: 编写一个函数,将两个字符串首尾连接 -
白梵必诺: #includevoid main() { char *p1,*p2,s1[100],s2[100]; printf("输入字符串1:"); scanf("%s",s1); printf("输入字符串2:"); scanf("%s",s2); for(p1=s1;*p1;p1++); for(p2=s2;*p2;*p1++=*p2++); *p1='\0'; printf("连接后的字符串:%s",s1); }

三河市15873565705: C语言, 写一个函数,将两个正整数n1, n2连成一个新的整数m. -
白梵必诺: 两种方法可以做 一个是常规的 根据位数,循环取后一个最高位的值,然后前一个乘十加上去.代码很麻烦 一个是借用字符串.代码如下#include <stdio.h> int main() { int n1,n2,m; char s[100]; scanf("%d%d",&n1,&n2); sprintf(s,"%d%d",n1,n2); sscanf(s,"%d",&m); printf("%d\n",m); return 0; }四句代码搞定.

三河市15873565705: 用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;}

三河市15873565705: 用C语言:写一个函数,将两个字符串连接
白梵必诺: \);):",s1):如mtcat所说:编程实现strcat的功能 void main() { char s1[80];n",j=0.h>0'0',直接用strcat函数 方法二;stdio!=' while((s1[i++]=s2[j++]); gets(s2):%s\;input two strings!=' while(s1[i]; int i=0; gets(s1);result; printf(" 方法一;\) i++,s2[80]; puts("#include<

三河市15873565705: 写一个函数,分别求两个整数的最大公约数,用主函数调用这个函数,并输出结果,两个整数由键盘输入.c语言编程题 -
白梵必诺:[答案] #include #include void fun(int num1,int num2) { int temp; if(num1
三河市15873565705: 编写一个函数,将两个字符串连接起来.C语言题目 急急急!!!!!!!!!!在线等麻烦写完整的,我用的是win - tc. -
白梵必诺: char *concat(char *source,char *destin) { while(*source); do{ *source++=*destin; }while(*destin++); }

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