#include<stdio.h>
#include<string.h>
void cha(char* str1,char* str2,int n);
int main()
{
char str1[20]="abcd";
cha(str1,"123",3);
printf("%s\n",str1);
return 0;
}
void cha(char* str1,char* str2,int n)
{
//找到插入位置pInsert
char* pInsert=str1+n-1;
//找到str1最后一个元素'\0'作为第一个移动位置,避免覆盖从后往前移动。
char* pMove=str1+strlen(str1);
//设一个while(pInsert <= pMove)让空出str2的位置上,先移动再赋值。
while(pInsert <= pMove)
{
*(pMove+strlen(str2))=*pMove;
pMove--;
}
//设一个while(*str2 != '\0')来将str2首元素赋值到pInsert上,然后让它们一个一个向后移动。
while(*str2 != '\0')
{
*pInsert=*str2;
pInsert++;
str2++;
}
}
将一个字符串插入到另一个字符串中 "abcd" "12345" 3
最新推荐文章于 2024-04-23 13:32:36 发布