C语言函数题我实在不行了 求帮助~
字符串处理函数strncat与strcat功能类似,对于两个参数字符数组a、b,将b中的字符串拼接到a中的字符串后。strncat还需要第三个参数n,指定取b中前n个字符...
字符串处理函数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"
} 展开
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"
} 展开
2个回答
展开全部
#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;
}
代码图片及运行样例:
2019-06-12
展开全部
去找strncat的源码抄一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询