1. 程式人生 > 其它 >編寫函式void len_cat(char c1[],char c2[])將第二個串連線到第一個串之後,不允許使用strcat函式。

編寫函式void len_cat(char c1[],char c2[])將第二個串連線到第一個串之後,不允許使用strcat函式。

技術標籤:c語言

#include <stdio.h>
#include <string.h>
#define N 100
void len_cat(char c1[],char c2[])
{
  int i,j;
  for(i=0;c1[i]!='\0';i++);
   for(j=0;c2[j]!='\0';j++)
		c1[i+j]=c2[j];
        c1[i+j]='\0';
}
main()
{
  char a1[N],a2[N];
  gets(a1);gets(a2);
   len_cat(a1,a2);
   puts(a1);
}

第二種方法:

#include <stdio.h>
#include <string.h>
#define N 100
void len_cat(char c1[],char c2[])
{
	int i=0,n=0;
	n=strlen(c1);
	while(c2[i]!=0)
	{
		c1[n++]=c2[i++]; //將c2連線到c1後面去
	}
	c1[n]='\0';
}
 main()
{ char a[N]="You will ",b[N]="be happy!";
	
	len_cat(a,b);
	printf("The result is:\n"
); puts(a); }

第三種方法:

#include <stdio.h>
#include <string.h>
#define N 100
void len_cat(char s1[N],char s2[N])
{
	int i,j;
	i=strlen(s1);
	for(i=0;*(s2+i)!='\0';i++)
		s1[i+j]=s2[i];
     s1[i+j]='\0';
}
 main()
{
	char str1[N],str2[N];
	gets(str1);gets(str2);
	puts(str1);puts(str2);
	len_cat
(str1,str2); puts(str1); }

在這裡插入圖片描述