#include<stdio.h>//8.6 写一函数,将两个字符串连接。
void add(char a[],char b[])
{
int len_a,len_b;
len_a=strlen(a);
len_b=strlen(b);
int sum;
sum=len_a+len_b;
int i,j;
for(i=len_a,j=0;i<=sum;i++,j++)
{
a[i]=b[j];
}
}
int main()
{
char a[100],b[100];
printf("请输入数组a:");
gets(a);
printf("请输入数组b:");
gets(b);
puts(a);
puts(b);
printf("把数组b加到a的后边……\n");
add(a,b);
puts(a);
return 0;
}
20160802今天晚上彻底掌握的了参考书上的算法。默写如下。
#include<stdio.h>//8.6 写一函数,将两个字符串连接。
void AddString(char s1[],char s2[],char s3[])
{
int i,j;
for(i=0;s1[i]!='\0';i++)
{
s3[i]=s1[i];
}
printf("第一个for运行完后i=%d。\n",i);//注意i的值。
for(j=0;s2[j]!='\0';i++,j++)
{
s3[i]=s2[j];
}
printf("第二个for运行完后i=%d。\n",i);//注意i的值。
s3[i]='\0';
}
int main()
{
char s1[100],s2[100],s3[100];
printf("请输入s1:");
gets(s1);
printf("请输入s2:");
gets(s2);
printf("s1:");
puts(s1);
printf("s2:");
puts(s2);
AddString(s1,s2,s3);
puts(s3);
return 0;
}
这部分写的真好。
for(i=0;s1[i]!='\0';i++)
{
s3[i]=s1[i];
}
for(j=0;s2[j]!='\0';i++,j++)
{
s3[i]=s2[j];
}
如果数组不是从0开始的,也不会这么好用。