怎么用指针把某一个字符串从某一位置开始向后移动一段距离?大家看看我代码哪里错了
各位高手,下面是小弟写的一段代码,目的是要用指针把字符串从某一位置开始向后平移i个单位,请大家帮我看看那里错了好吗?#include <stdio.h>
#include <string.h>
#include <math.h>
void main()
{
char s1[50]="ilovechina",s2[10]="love",s3[10]="loving";
int i=fabs(strlen(s1)-strlen(s2));
char *flag=&s1[2],*end1=s1+strlen(s1),*end2=end1+i-1;
for(;end1==(flag-1);end1--,end2--) //开始把从s[2]开始的元素往后复制;
{
(*end2)=(*end1);
end2--;
end1--;
}
puts(s1);
}
我的输出结果是:ilovechina
为什么没有任何变化啊?