当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++基础入门教程

不使用中间变量快速插入字符串

    要求:不采用任何中间变量和库函数,将一字符串插入另一字符串的任意指定位置。给出的条件是两个字符串的空间均为可读可写,且空间长度能保证插入字符串后不会越界!

    看到此题,引起了本人的兴趣,略加思索,写下代码下如,感觉效率倒也还过得去,不会比采用库函数的效率低,至于能否继续精简、有没有更好的思路等等,就没有继续考虑了。

    代码如下:

 #include <stdio.h>

//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"; //测试一下
char str2[]="abcdefg";
insert(str1,str2,10);
puts(str1);
return 0;
}

相关内容
赞助商链接