C语言 编一个程序,将两个字符串连接起来,不要用strcat函数

如题所述

第1个回答  2010-12-20
函数头我就不和你写了!
int a[20],b[20],i=0,j=0;
while(a[i]!='\0')
{
i++;
}
while(b[i]!='\0')
{
a[i++]=b[i++];
}
a[i]='\0';
printf("%s",a);

就可以了!!
第2个回答  2010-12-19
// c1="asd", c2="dfg" strcatch(c1,c2) puts(c1) c1="asddfg";
#include <stdio.h>
#define max 100
void strcatch(char *c1,char *c2){
char *p,*q;
p=c1;
q=c2;
while(*p) p++;
while(*q) *(p++)=*(q++);
*p='\0';
}

void main(){
char c1[max],c2[max];
printf("input char c1:\n");
gets(c1);
printf("input char c2:\n");
gets(c2);
strcatch(c1,c2);
puts(c1);
}
第3个回答  2010-12-19
char *my_strcat(char *strDest,const char *strSrc)
{
assert( (strDest != NULL) && (strSrc != NULL) );
char *cp = strDest;
while(*++cp != '\0')
NULL;
while((*cp++ = *strSrc++) != '\0')
NULL;
return strDest;
}

加上头文件 #include<assert.h>本回答被网友采纳
第4个回答  2010-12-19
#include <stdio.h>
#include <string.h>
#include <malloc.h>

int main()
{
char str1[] = "123asd456";
char str2[] = "abcdef";

int len;
// 总长度
len = strlen(str1) + strlen(str2);
char *str3 = (char *)malloc((len+1) * sizeof(char));
int i, j = 0, k = 0;
// 复制
for(i = 0; i <= len; i++)
{
if (str1[j])
str3[i] = str1[j++];
else if (str2[k])
str3[i] = str2[k++];
else
str3[i] = '\0';
}
printf("%s\n", str3);
return 0;
}

c语言! 编一程序,将两个字符串连接起来,不要用strcat函数.
思路:字符串连接先需要找到第一字符串的结束位置,接着把第二字符串元素放到第一字符串后面,最后加上结束标志即可。参考代码:拼接123和456 include<stdio.h>void mystrcat(char a[],char b[]){\/\/字符串连接函数 int i=0,j=0;while(a[i++]!='\\0');\/\/找到a的结束位置 i--;while(b[j...

编一个程序,将两个字符串连接起来,不要用STRCAT函数。
public static char* CombineString(char* source1, int length1; char* source2, int length2){ char* result=0;result=(char*)malloc(sizeof(length1+length2-1);if(result==0){ return null;} int position=0;int i=0;while(position<length1){ result[position++]=source1[position++]...

C语言编写一个程序,将两个字符串连接起来,不要使用strcat函数 求大神...
int a[20],b[20],i=0,j=0;while(a[i]!='\\0'){ i++;} while(b[i]!='\\0'){ a[i++]=b[i++];} a[i]='\\0';printf("%s",a);就可以了!!

在C语言中编写一个程序将两个字符串连接起来 不用strcat函数 我编的...
str1[i]='\\0';printf("\\n两个字符连接后为:%s \\n",str1);} 那个while循环多余了,用不到循环

用c语言编写程序,将两个字符串连接起来,不要用strcat函数
include <stdio.h>#include <string.h>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[]){ \/\/请填空,完成两个字符串的连接...

C语言:编一程序,将两个字符串连接起来。 要求:不允许使用strcat函数
include<stdio.h>#include<stdlib.h>\/*程序入口点函数*\/int main(){ int i,j; char str1[100],str2[100],str3[201]; gets(str1); gets(str2); for(i=0;str1[i]!='\\0';i++) str3[i]=str1[i]; for(j=0;str2[j]!='\\0';j++) str3[j+i]...

编写一个程序,将两个字符串连接起来,并输出(不要使用strcat函数)。用C...
void main(){ char s1[80],s2[40];int i=0,j=0;printf("\\ninput stringl:");scanf("%s",s1);printf("input string2:");scanf("%s",s2);while(s1[i]!='\\0')i++;while(s2[j]!='\\0')s1[i++]=s2[j++];s1[i]='\\0';printf("The new string is:%s\\n",s1);} ...

编写一个程序,将两个字符串连接起来,并输出(不要使用strcat函数)。用C...
void main(){ char s1[80],s2[40];int i=0,j=0;printf("\\ninput stringl:");scanf("%s",s1);printf("input string2:");scanf("%s",s2);while(s1[i]!='\\0')i++;while(s2[j]!='\\0')s1[i++]=s2[j++];s1[i]='\\0';printf("The new string is:%s\\n",s1);} ...

c语言:编写程序将两个字符连接起来,不使用strcat函数。
to continue include<stdio.h> void main(void){ char ch1[20],ch2[10];int i=0,k=0;gets(ch1);gets(ch2);while(ch1[i]!='\\0')i++;while(ch2[k]!='\\0') \/\/这里是k不是i ch1[i++]=ch2[k++];ch1[i]='\\0'; \/\/完毕加结束符 printf("%s",ch1);} ...

[C语言] 不用strcat()函数,将两个字符串连接起来,试完善一下程序!!!
int main(){ char s1[80],s2[40];int i=0,j=0;printf("Enter s1:");\/\/改成用gets函数 \/\/因为如果输入的字符串中间或末尾包含空格 \/\/用scanf函数会造成输入不正确 gets(s1);printf("Enter s2:");gets(s2);while('\\0'!=s1[i]){ i++;} while(1){ s1[i]=s2[j];if('\\0'=...

相似回答
大家正在搜