mdsk.net
当前位置:首页 >> 用C语言:写一个函数,将两个字符串连接 >>

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

#include main() { char str1[100],str2[50]; printf("输入字符串一:"); gets(str1); printf("输入字符串二:"); gets(str2); strcat(str1,str2); printf("连接之后为:%s\n",str1); }

一: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;}

#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++;}elsec[k]=b[j++];k++;}46c[k]='\0'; if(a[i]=='\0') p=b+j;elsep=a+i;strcat(c,p);puts(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(

gets(s1);getchar(); //加上这句读取输入的回车. gets(s2);

库函数好像有这个功能函数吧 strcat()编辑本段C函数原型 extern char *strcat(char *dest,char *src);用法 #include 在C++中,则存在于头文件中.功能 把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'.说明 src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串. 返回指向dest的指针.

#include void 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); }

#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; }

这么麻烦干什么啊,C不是有一个字符串连接函数嘛.strcat这个函数就是的了,自己搜索一下啊

好多错啊少年,第一:最后输出printf("连接后字符串为:%s",c);就可以了,你想要用数组输出字串要用for循环 第二:函数设计有问题,定义的时候函数返回的是一个char型,你想要的是一个字串啊,这回导致内存溢出,返回的不是你想要的结果 第三:c[i]='\0';这里应该改成c[i+1]='\0';应为这个字串是你自己拼的,不是计算机帮你拼的,所以最后一位不会帮你加上\0,对于你自己来说,最后一位是i+1位

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com