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

\u7528C\u8bed\u8a00\uff1a\u5199\u4e00\u4e2a\u51fd\u6570\uff0c\u5c06\u4e24\u4e2a\u5b57\u7b26\u4e32\u8fde\u63a5

\u9009\u81ea\uff1a\u300a\u7a0b\u5e8f\u903b\u8f91\u53caC\u8bed\u8a00\u300b\uff0c\u672c\u89c6\u9891\u4e3a\u5b57\u7b26\u4e32\u7684\u7b2c04\u5c0f\u8282\u3002\u4e3b\u8981\u8bb2\u89e3\u56db\u4e2a\u5e38\u7528\u7684\u5b57\u7b26\u4e32\u5904\u7406\u51fd\u6570\uff0c\u5305\u62ec\uff1a\u6c42\u5b57\u7b26\u4e32\u7684\u957f\u5ea6\u3001\u5b57\u7b26\u4e32\u7684\u8d4b\u503c\u3001\u5b57\u7b26\u4e32\u7684\u8fde\u63a5\u5df2\u7ecf\u5b57\u7b26\u4e32\u5927\u5c0f\u7684\u6bd4\u8f83\u3002\u5177\u4f53\u6709\u6848\u4f8b\u8bb2\u89e3\u3002

1\u3001\u65b0\u5efa\u4e00\u4e2a\u5de5\u7a0b\u548c.c\u6587\u4ef6\uff0c\u8f93\u5165\u5934\u6587\u4ef6\u548c\u4e3b\u51fd\u6570\u3002

2\u3001\u5b9a\u4e49\u53d8\u91cf\u7c7b\u578b\u3002

3\u3001\u8c03\u7528cpy\u51fd\u6570\u3002

4\u3001\u5b9a\u4e49\u4e00\u4e2a\u51fd\u6570\uff0c\u5e76\u5b9a\u4e49\u53d8\u91cf\u7c7b\u578b\u3002

5\u3001\u7528\u4e00\u4e2aFor \u8bed\u53e5\u548cif\u8bed\u53e5\u5224\u65ad\u662f\u5426\u4e3a\u5143\u97f3\u3002

6\u3001\u6700\u540e\u52a0\u4e00\u4e2a\u5b57\u7b26\u4e32\u7ed3\u675f\u7b26\uff0c\u5e76\u5728\u4e3b\u51fd\u6570\u4e2d\u8f93\u51fa\u3002

7\u3001\u7f16\u8bd1\u3002\u8fd0\u884c\u3002

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璇█缂栫▼棰,鍐欎竴涓嚱鏁,灏嗕袱涓瓧绗︿覆杩炴帴
    绛旓細include<string.h> 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);} ...
  • 鐢–璇█缂栫▼:缂栧啓涓涓嚱鏁,灏嗕袱涓瓧绗︿覆杩炴帴璧锋潵
    绛旓細涓锛歝har* catStr(char str1[],char str2[]){ strcat(str1,str2);return str1锛泒 浜岋細char* catStr(char str1[],char str2[]){ int i=0锛沬nt lenstr1=0;lenstr=strlen(str1)for(i;i<=strlen(str);i++){ str1[lenstr++]=str2[1];} return str1锛泒 ...
  • c璇█ 鍐欎竴鍑芥暟,灏嗕袱涓瓧绗︿覆涓殑鍏冮煶瀛楁瘝澶嶅埗鍒板彟涓涓瀛楃涓,鐒跺悗杈撳嚭...
    绛旓細棣栧厛锛氬惊鐜粨鏉熸潯浠惰鏀逛负p[I]!='\0' ;鐒跺悗p2鐨勪笅鏍囦笉涓瀹氬拰p鐨勪笅鏍囩浉鍚岋紱鐪嬬湅鐨勬敼鐨勶紱include <stdio.h> include <stdlib.h> int main(){ char p[100];char p2[100];scanf("%s",p);int i=0,j=0; //瀹氫箟浜唈浣滀负鎷峱2鐨勪笅鏍 while(p[i]!='\0') //寰幆鏉′欢璇ユ槸!='\0'{...
  • C璇█: 缂栧啓涓涓嚱鏁,灏嗕袱涓瓧绗︿覆棣栧熬杩炴帴
    绛旓細include<stdio.h> void main(){ char a[50]="i love";char b[50]="you";int i=0,j=0;while(a[i]!='\0')i++;while(b[j]!='\0')a[i++]=b[j++];a[i]='\0';printf("the new string is %s\n",a);}
  • ...C璇█绋嬪簭,瑕佹眰杈撳叆涓や釜瀛楃涓,鑷畾涔涓涓嚱鏁,灏绗竴涓瓧绗︿覆涓...
    绛旓細) break; } n=0; while ( *s2 ) { s2++; n++; if ( n>=m ) break; } while ( *s2 ) { *s1=*s2; s1++; s2++; } s1=0;} void main() { char s1[256],s2[256]; int m;gets(s1); gets(s2); scanf("%d",&m); f(s1,s2,m-1); printf("%s\n",s1);} ...
  • C璇█缂栫▼:杈撳叆2涓瓧绗︿覆,灏鍏惰繛鎺ュ悗杈撳嚭.
    绛旓細鎬濊矾锛涓や釜瀛楃涓鐨勬嫾鎺ュ彲浠ヤ娇鐢╯trcat鍑芥暟銆俿trcat鍑芥暟鍘熷瀷锛 char *strcat(char *s1,char *s2);闇瑕佸紩鍏ュご鏂囦欢锛#include <string.h> 鍔熻兘锛氭妸s2鎵鎸囧瓧绗︿覆娣诲姞鍒皊1缁撳熬澶勫苟娣诲姞'\0'銆傛敞鎰忥細s1蹇呴』鏈夎冻澶熺殑绌洪棿鏉ュ绾硈1鍜宻2鐨勫瓧绗︿覆銆傚弬鑰冧唬鐮侊細include "stdio.h" #include "string.h" int ...
  • c璇█缂栫▼ 鍐欎竴涓嚱鏁,瀹炵幇涓や釜瀛楃涓鐨勬瘮杈,鍗冲啓涓涓被浼间簬strcmp鍔熻兘...
    绛旓細include <stdio.h> int strcmp(char *s1, char *s2){ while((*s1++ == *s2++)&& *s1);return (*s1 - *s2);} void main(){ char a[10], b[10];gets(a);gets(b);printf("%d\n", strcmp(a, b));}
  • C璇█涓庢牱璁捐涓涓嚱鏁瀹炵幇涓や釜瀛楃涓鐨勮繛鎺
    绛旓細1)绠鍗曟潵锛岀洿鎺ョ敤 strcat 鍑芥暟锛闇瑕佸寘鍚ご鏂囦欢 string.h 2)鑷繁瀹炵幇鐨勮瘽涔熶笉楹荤儲锛屼絾鏄鑰冭檻涓浜涚粏鑺傦細鍋囪涓や釜瀛楃涓鎸囬拡涓 str1锛宻tr2 锛岀幇鍦ㄨ璁 str1 鍜 str2 杩炴帴鎴涓涓鏂扮殑瀛楃涓层俛.鑰冭檻鎸囬拡 str1,str2 鏄惁闈炵┖ b.濡傛灉灏唖tr2鐨勫唴瀹圭洿鎺ヨ繛鎺ュ埌str1鐨勬湯灏撅紝瑕佽冭檻str1鏄惁鏈夎冻澶熺殑...
  • 鐢╟璇█缂栧啓涓涓绋嬪簭,浠庨敭鐩樹笂杈撳叆涓や釜瀛楃缁欏瓧绗﹀彉閲廰,b,骞惰緭鍑哄彉...
    绛旓細绋嬪簭浠g爜濡備笅锛歕x0d\x0a#include //缂栬瘧棰勫鐞嗗懡浠x0d\x0aint main(int argc, char *argv[]) //涓鍑芥暟锛屽瓧绗鐨勫0鏄嶾x0d\x0a{\x0d\x0achar a,b; //瀹氫箟瀛楃a锛宐\x0d\x0a\x0d\x0ascanf("%c %c",&a,&b); //杈撳叆瀛楃a锛宐\x0d\x0a\x0d\x0aprintf("...
  • c璇█ 鍐欎竴涓嚱鏁鑳灏嗕袱涓瓧绗︿覆杩炴帴,鍦ㄤ富鍑芥暟涓皟鐢
    绛旓細杩欐牱灏卞彲浠ヤ簡锛屾垜宸茬粡鍦╲c6閫氳繃璋冭瘯杩愯浜嗭紝涓嶈繃瑕佹敞鎰忎竴鐐瑰摝锛岃櫧鐒c璇█閲岄潰娌℃湁string绫诲瀷鐨勫彉閲忥紝浣嗘槸鍦╟++閲岄潰鏈夛紝鎵浠ヤ负浜嗛槻姝笉蹇呰鐨勯夯鐑︼紝浣犺繖閲岀殑鍙橀噺鍚嶅瓧鏈濂戒笉瑕佺敤string include<stdio.h> void stringcat(char str1[],char str2[],char str[]){ int i,j;for(i=0;str1[i]!='\0...
  • 扩展阅读:小学生c++趣味编程视频 ... c十十编程 ... 小学生c++ ... c++必背入门代码 ... c十十编程要学多久 ... 基本编程代码大全 ... 学c#有前途吗 ... c语言题目 ... c十十入门编程课程视频 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网