要求:不采用任何中間變量和庫(kù)函數(shù),將一字符串插入另一字符串的任意指定位置。給出的條件是兩個(gè)字符串的空間均為可讀可寫(xiě),且空間長(zhǎng)度能保證插入字符串后不會(huì)越界!
代碼如下:
#include
//dtr--被插的字符串,str--插入的字符串, locat---插入為置
void insert(char *dtr, char *str, int locat)
{
dtr+=locat;
locat=0;
while(*str)
{
while(*str)
{
*dtr^=*str;
*str^=*dtr;
*dtr^=*str;
str++;
dtr++;
locat++;
}
str-=locat;
locat=0;
}
}
int main()
{
char str1[100]="1234567890"; //測(cè)試一下
char str2[]="abcdefg";
insert(str1,str2,10);
puts(str1);
return 0;
}
代碼如下:
#include
//dtr--被插的字符串,str--插入的字符串, locat---插入為置
void insert(char *dtr, char *str, int locat)
{
dtr+=locat;
locat=0;
while(*str)
{
while(*str)
{
*dtr^=*str;
*str^=*dtr;
*dtr^=*str;
str++;
dtr++;
locat++;
}
str-=locat;
locat=0;
}
}
int main()
{
char str1[100]="1234567890"; //測(cè)試一下
char str2[]="abcdefg";
insert(str1,str2,10);
puts(str1);
return 0;
}