编写一个函数实现两个字符串的连接(不使用库函数strcat).这个用C语言怎么写程序啊求详细解释~急!

作者&投稿:胡爱 (若有异议请与网页底部的电邮联系)
用c语言编写程序,将两个字符串连接起来,不要用strcat函数~

#include #include void strc(char c1[],char c2[]);void main(){char s1[30]="abc";char s2[30]="def";strc(s1,s2); //请在后面补充strc函数的功能,完成两个字符串的连接puts(s1);}void strc(char c1[],char c2[]){ //请填空,完成两个字符串的连接 int i,j; for(i = 0; c1[i]; i ++); for(j = 0; c2[j]; j ++) c1[i+j] = c2[j]; c1[i+j] = 0;}

#include "stdio.h"void main(){ char a[50],b[50],c[50]; int i=0,j=0,k=0;printf("输入第一个字符串");gets(a);printf("输入第二个字符串");gets(b); printf("a=%s
",a); printf("a=%s
",b); while(a[i])c[k++]=a[i++]; while(b[j])c[k++]=b[j++]; c[k]=b[j]; printf("c=%s",c);}已经运行过,有什么问题请留言!

void fun (char s1[],char s2[]){

int i,j;

for (i=0;s1[i] !=’\0’; i++); /*求出的i为pA字符的总长度,包括结束标记位*/

for (j=0;s2[j] !=’\0’; j++)

s1[i++]=s2[j]; /*将pB字符串连在pA字符串的后面*/

s1[i]='\0’; /*在字符串最后加上结束标记符*/

}

扩展资料:

最常用的字符串函数:

  1. 字符串输出函数puts格式:puts (字符数组名) 功能:把字符数组中的字符串输出到显示器。

2.字符串输入函数gets格式:gets (字符数组名) 功能:从标准输入设备键盘上输入一个字符串。本函数得到一个函数值,即为该字符数组的首地址。

3.字符串连接函数strcat格式:strcat (字符数组名1,字符数组名2) 功能:把字符数组2中的字符串连接到字符数组1 中字符串的后面,并删去字符串1后的串标志“”。

4.字符串拷贝函数strcpy格式:strcpy (字符数组名1,字符数组名2) 功能:把字符数组2中的字符串拷贝到字符数组1中。串结束标志“”也一同拷贝。

5.字符串比较函数strcmp格式:strcmp(字符数组名1,字符数组名2) 功能:按照ASCII码顺序比较两个数组中的字符串,并由函数返回值返回比较结果。

6.测字符串长度函数strlen格式:strlen(字符数组名) 功能:测字符串的实际长度(不含字符串结束标志‘’) 并作为函数返回值。

参考资料:

百度百科-数组



#include"stdio.h"

#include"conio.h"

#include"math.h"

main()

{char c,str1[100],str2[100],str3[300];

int i,j;

printf("Please input the first string
Confirm by Enter
");

gets(str1);

printf("Please input the second string
Confirm by Enter
");

gets(str2);

for(i=0;(c=str1<i>)!='\0';i++)

{str3<i>=str1<i>;

};

j=i;

for(i=0;(c=str1[i])!='\0';i++)

for(i=0;(c=str2<i>)!='\0';i++,j++)

{str3[j]=str2<i>;

};

printf("The string which has been connected is:
%s",str3);

getch();

}

扩展资料:

include用法:

#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。

插入头文件的内容

#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:

1、#include<文件名>

2、#include"文件名"

如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:

#include<math.h>//一些数学函数的原型,以及相关的类型和宏

如果需要包含针对程序所开发的源文件,则应该使用第二种格式。

采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。如下例所示:

#include"myproject.h"//用在当前项目中的函数原型、类型定义和宏

你可以在#include命令中使用宏。如果使用宏,该宏的取代结果必须确保生成正确的#include命令。例1展示了这样的#include命令。

【例1】在#include命令中的宏

#ifdef _DEBUG_

#define MY_HEADER"myProject_dbg.h"

#else

#define MY_HEADER"myProject.h"

#endif

#include MY_HEADER

当上述程序代码进入预处理时,如果_DEBUG_宏已被定义,那么预处理器会插入myProject_dbg.h的内容;如果还没定义,则插入myProject.h的内容。

参考资料:

百度百科——include



编写一个函数实现两个字符串的连接(不使用库函数strcat).这个用C语言怎么写程序啊求详细解释,你这个应该是一个电脑应用的程序吧,不过具体的程序从你这个字面意思也解释不了,所以这个问题帮你解答不了,希望你了解。

#include <stdio.h>
void main()
{
char s1[20],s2[10];
int i=0,j=0;
gets (s1),gets (s2);
while (s1[i] !='\0')
{
i++;
}

while (s2[j] != '\0')
{s1[i++]=s2[j++];}
puts (s1);
}

strcat源码
char * strcat(char * dest, const char * src)
{
char *tmp = dest;

while (*dest)
dest++;
while ((*dest++ = *src++) != '\0')
;
return tmp;
}
参考一下吧。


编写一个函数swap(x1,y1)来实现两个整数之间的交换,并在主函数中利用...
\/\/在你的原程序上改,注意有注释的地方 include<stdio.h> void swap(int *a,int *b) \/\/用上指针 { int c;c=*a;\/\/用上指针 a=*b;\/\/用上指针 b=c;\/\/用上指针 } int main(){ int x[10]={0,1,2,3,4},y[10]={6,7,8,9,10},i;printf("数组x为:");for(i=0;i...

求一个C语言程序题:编写一个函数SWAP()实现交换两个数位置的功能
printf("i = %d, j = %d\\n", i, j);\/\/输出交换后的两个值 } void swap(int *p, int *q){ int temp;\/\/定义临时变量 存放中间值 temp = *p;p = *q;q = temp;} 注意:不能直接写void swap(int i, int j);因为那只是临时变量,函数调用完后,便释放空间,两个值并没有交换...

用C语言写一个函数,将两个字符串连接。
1、实际上就是实现strcat这个字符串库函数,在vc自带的crt源码或者linux平台的glibc库中都有strcat的源码,自己可以查阅参考,看看库开发者是如何写代码的,对于学习C语言非常有用。2、示例 include <stdio.h> char *strcat(char *str1, char *str2){ if((str1==NULL)||(str2==NULL)) throw "...

急求C编程:编写函数实现两个数的交换,在主函数中任意输入三个数,调用函...
include <stdio.h> void swap(int *p1,int *p2){int t;t=*p1;p1=*p2;p2=t;} void main(){ int a,b,c;scanf("%d%d%d",&a,&b,&c);int *q1,*q2,*q3;q1=&a;q2=&b;q3=&c;if(a>b)swap(q1,q2);if(a>c)swap(q1,q3);if(b>c)swap(q2,q3);printf("%d,%d,%d",*...

用C语言编程序:用指针方法处理:写一函数,实现两个字符串的比较。即...
int strcmp(char *p1, char *p2){ while (*p1 && *p2){ if (*p1 > *p2)return 1;else if (*p1 < *p2)return -1;else {p1++; p2++;} } if (*p1==0 && *p2==0)return 0;else if (*p1==0)return -1;else return 1;} ...

有两个3*3的矩阵,写一个函数完成两个矩阵相加,用主函数调用该函数(矩 ...
这两个程序可以实现任意维数矩阵的相加与相乘,只需传入相应参数即可。void Add(double * a, double * b, double * c, int m, int n){ \/\/a是第一个矩阵,b是第二个矩阵,c是输出结果,m与n是行数和列数 int i,j;for(i=0;i<m;i++)for(j=0;j<n;j++)c[i*n+j]=a[i*n+j...

写一个函数min,求两个数的最小值(2)写一个函数prime,判断一个整数是否是...
python实现:def min(a, b):if a < b:return a else:return b def prime(num):if num < 2: # 小于2的整数不是素数 return False for i in range(2, int(num ** 0.5) + 1): # 循环枚举到num的平方根 if num % i == 0: # 若num能被i整除,则num不是素数 return ...

,实现两个字符串的比较,即自己写一个strcmp函数,函数原型为:int strcmp...
int strcmp(char*p1,char*p2,int n);void main(){ char s1[20],s2[20];int a;\/*scanf("%s%s",&s1,%s2)也可以*\/ gets(s1);gets(s2);n=sizeof(char); 共有多少个char型的 a=strcmp(s1,s2);} void strcmp(char*p1,char*p2,int n){ for(i=0;i<n;i=i+1){ if(s1[i...

C语言怎么自定义函数实现两个同维数组对应位置相乘再求和,返回一个数...
include<stdio.h> void sum(int x[],int y[]);\/\/这括号里边的是形参,可以不给出数组的长度。而且数组名任意,只要 void main() \/\/两个数组名不重复就行 { int a[2],b[2],i;printf("intput a[2]:\\n");for(i=0;i<2;i++)scanf("%d",&a[i]);printf("input b[2]:...

用一个函数来实现求两个整数中的较大者。在主函数中国调用此函数并输...
include<stdio.h>int max(int x,int y) int z; if(x>y)z=x;else z=y;return(z); }void main() {int a,b,c; printf("输入a,b\\n");scanf("%d,%d",&a,&b);c=max(a,b);printf("c=%d\\n",c);}

洛江区19862475353: 编写函数,实现将两个字符串连接起来,结果取代第一个字符串. (1) 用字符数组,不用strcat函数(即自己 -
赵峡血凝:[答案] #include void mystrcat( char src[], const char des[]) {int i=0,j=0; while(src[i++]); --i; while(src[i++]=des[j++]); } void main() { char str1[10]={"abc"},str2[10]={"def"}; int i; mystrcat(str1,str2); for(i=0;i} 好了,细节自己可以该基本功能已经实现了~

洛江区19862475353: 写一函数实现连接俩个字符串 -
赵峡血凝: #include <stdio.h> char *mystr(char *s1, const char *s2) { int i = 0, j = 0; while(s1[i] != '\0') i++; while((s1[i++] = s2[j++]) != '\0'); return s1; } int main() { char s1[80], s2[80]; printf("请输入第一个字符串: "); gets(s1); fflush(stdin); printf("请输入第...

洛江区19862475353: 用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];...

洛江区19862475353: 编写程序“编写函数实现将两个字符串的连接”. -
赵峡血凝: /*运行结制果为: 请输入string1: chinsung 请输入string2: lee string1, string2两字2113符串连5261接后4102的结果为:1653 chinsunglee. */ #include #include char concatenate(char string1[], char string2[]) { int i,j; i=strlen(string1); for(j=0;j

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

洛江区19862475353: 写一个函数,将两个字符串连接 -
赵峡血凝: public String add(Sting str1,String str2){ String string=str1.append(str2); return string; }

洛江区19862475353: 写一函数,将两个字符串连接 -
赵峡血凝: void mystrcat(char *s1,char *s2) { while(*s1++); s1--; while(*s1++ = *s2++); }

洛江区19862475353: 用C语言写一个函数,将两个字符串连接. -
赵峡血凝: #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); }

洛江区19862475353: 编写函数将给定的两个字符串连接成一个字符串 -
赵峡血凝: #include main(){ char str1[80],str2[80]; int i=0,j=0; puts("puts two string:"); gets(str1); gets(str2); while(str1[i]!='\0')i++; while(str2[j]!='\0')str1[i++]=str2[j++]; printf ("result is:%s\n",str1); }

洛江区19862475353: 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); }

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