#include<stdio.h>;
#include<string.h>;
#include<stdlib.h>;
#pragma warning (disable:4996);
char*my_str(char*p, char*q,const int n)
{;
int x= strlen(p);
int y= strlen(q);
printf("%d\n", x);
printf("%d\n", y);
char*f = { NULL };
for (int i = 0; i < 3; i++)
{
*(f + i) = *(p + i);
}
for (int i = 0; i < 3; i++)
{
*(f + i + 3) = *(q + i);
}
for (int i = 3; i < 7; i++)
{
*(f + 3 + i) = *(p + i);
}
strcat(f, p);
*(f + x + y) = 0;
return f;
}
int main()
{
char a[] = "Beijing";
char b[] = "123";
char f[] = "";
int n = 3;
char*f=my_str( a, b, n);
printf("%s\n", f);
system("pause");
return 0;
代码修改如下,如有帮助,请采纳一下,谢谢。
#include<stdio.h>;
#include<string.h>;
#include<stdlib.h>;
#pragma warning (disable:4996);
char*my_str(char*p, char*q,const int n)
{
int x= strlen(p);
int y= strlen(q);
printf("%d\n", x);
printf("%d\n", y);
char*f = new char[x+y+1];
f[x+y] = 0;
for (int i = 0; i < n; i++)
{
*(f + i) = *(p + i);
}
for (int i = 0; i < y; i++)
{
*(f + i + n) = *(q + i);
}
for (int i = n; i < x; i++)
{
*(f + y + i) = *(p + i);
}
return f;
}
int main()
{
char a[] = "Beijing";
char b[] = "123";
//char f[] = "";
int n = 3;
char*f = my_str( a, b, n);
printf("%s\n", f);
system("pause");
return 0;
}