原帖及讨论:http://bbs.bccn.net/thread-85644-1-1.html
题目:编一程序,将两个字符串连接起来,不要用strcat函数。
第1种方法:
main()
{
char str1[10]="world!";
char str2[20]="hello ";
strcpy(str2+strlen(str2),str1);
printf("%s",str2);
}
第2种方法:
void copy_string(char from[],char to[])
{
int i=6;
while(from[i]!='\0')
{to[i]=from[i];i++;}
to[i]='\0';
}
main()
{
char a[]=" word!";
char b[11]="hello ";
copy_string(a,b);
printf("\n%s\n",b);
}
由于我是菜鸟,第一种方法是在别人的帮忙下完成的,而第二种方法是自己想出来的。
不知道符不符合题目要求呢?
你们有别的见解的话,发表发表上来哦~
论坛会员论坛提供的方法:
程序代码:
#include <stdlib.h>
#include <stdio.h>
#define BUFFSIZE 80
int main(void)
{
char s1[BUFFSIZE] = "hello", s2[] = "china";
sprintf(s1, "%s%s", s1, s2);
printf("s1 = %s\n", s1);
exit(0);
}
论坛会员nicksharp提供的方法:
程序代码:
#include<stdio.h>
void contact(char str[],const char str1[],const char str2[])
{
in i,j;
for(i=0;str1[i]!=’\0’;i++)
str[i]=str1[i];
for(j=0;str2[j]!=’\0’;j++)
str[i+j]=str2[j];
str[i+j]=’\0’
}
int main(void)
{
void contact(char str[],const char str1[],const char str2[]);
const char s1[]={"Test "};
const char s2[]={"works."};
char s3[12];
contact(s3,s1,s2);
printf("%s",s3);
getch();
return 0;
}