編寫函式void len_cat(char c1[],char c2[])將第二個串連線到第一個串之後,不允許使用strcat函式。
阿新 • • 發佈:2021-01-08
技術標籤: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);
}