C语言函数题我实在不行了 求帮助~

字符串处理函数strncat与strcat功能类似,对于两个参数字符数组a、b,将b中的字符串拼接到a中的字符串后。strncat还需要第三个参数n,指定取b中前n个字符拼接,若n大于b的长度则拼接所有字符。要求自定义函数join实现同样的功能,在主函数中进行调用,实现以下效果:
int main()
{
    char a[66] = "i love";
    char b[] = " study very much cai guai";
    join(a, b, 6); // 执行后a中字符串为"i love study"
    join(a, b, 666); // 执行后a中字符串为"i love study study very much cai guai"
}

#include "stdio.h"

char *join(char *a,const char *b,int n){

int i;

char *t;

if(a==NULL || b==NULL)

return NULL;

for(t=a;*t;t++);

for(i=0;i++<n && *b;*t++=*b++);

*t='\0';

return a;

}

int main(int argc,char *argv[]){

char a[66] = "i love";

char b[] = " study very much cai guai";

//join(a,b,6); // 执行后a中字符串为"i love study"

//join(a,b,666); // 执行后a中字符串为"i love study study very much cai guai"

printf("6:\t%s\n",join(a,b,6));

printf("666:\t%s\n",join(a,b,666));

return 0;

}

代码图片及运行样例:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-12
去找strncat的源码抄一下
相似回答