本题要求实现一个函数,将第二个字符串中与第一个字符串的不同字符连接到字符串1后面。
函数接口定义:
void strDifcat(char *dst,char *src);
dst、src分别指向主调函数中的第一个字符串和第二个字符串,最终连接完成的字符串由dst指向。
裁判测试程序样例:
在这里给出函数被调用进行测试的例子。例如: #include <stdio.h> #include <string.h> #define NLEN 10 void strDifcat(char *dst,char *src); int main(void) { char srcStr1[2*NLEN],srcStr2[NLEN]; gets(srcStr1); gets(srcStr2); strDifcat(srcStr1,srcStr2); puts(srcStr1); return 0; } /* 请在这里填写答案 */
输入样例1:student jack 输出样例1:studentjack
输入样例2:student join 输出样例2:studentjoi
代码如下:
void strDifcat(char *dst,char *src)
{
int m,n,sum=0;
for(n=0;*(dst+n)!='\0';n++);
for(m=0;*(src+m)!='\0';m++);
int i=0,j=0,flag=1;//这里使用flag作为标识符来判断是否重复
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(*(dst+j)==*(src+i))
{
flag=0;
break;
}
}
if(flag==1)
{
*(dst+n+i)=*(src+i);
sum++;
}
}
*(dst+n+sum)='\0';
}