求助一道c语言指针编程题 15
1个回答
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* FUNCTION:
* 将字符串_src插入字符串_dest指定位置n处,其中n与字符串下标一致
* 返回值:
* 成功:返回目标字符串首地址
* 失败:返回NULL
* */
char *insert(char *_dest, char *_src, int n)
{
char tmp[256];
int len;
if (_dest==NULL || _src==NULL || n<0)
{
printf("参数不合法\n");
return NULL;
}
memset(tmp,0x00, sizeof(tmp));
memcpy(tmp, _dest, n);
len = strlen(tmp);
len += snprintf(tmp+strlen(tmp), sizeof(tmp)-strlen(tmp), "%s%s", _src, _dest+n);
memset(_dest, 0x00, len+1);
memcpy(_dest, tmp, len);
return _dest;
}
/*测试函数*/
int main()
{
char arry1[128];
char arry2[64];
char *p = NULL;
memset(arry1, 0, sizeof(arry1));
memset(arry2, 0, sizeof(arry2));
strcpy(arry1, "ABCDEFGHIGKLMN");
strcpy(arry2, "123456");
printf("arry1[%s]\n", arry1);
printf("arry2[%s]\n", arry2);
p = insert(arry1, arry2, 4);
if (p == NULL)
{
printf("函数调用失败\n");
return -1;
}
else
{
printf("New Arry[%s]\n", arry1);
}
return 0;
}
希望有帮到你。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询