求教代码含义
void LoopMove(char*pStr,int steps)
{
int n=strlen(pStr)-steps;
char tmp[MAX_LEN];
strcpy(tmp,pStr+n);
strcpy(tmp+steps,pStr);
*(tem+strlen(pStr))='\0';
strcpy(pStr,tmp);
}
这段代码是实现社么功能的啊?请详细解释一下每行的意思 strcpy strlen
[解决办法]
抱歉,搞错了。
应该是将pStr的后steps个字移到前面,前面的字符移到后面。是循环右移steps个字符。
[解决办法]
void LoopMove(char*pStr,int steps) //从steps位置开始,前后交换这个字符串
{
int n=strlen(pStr)-steps; //字符串总长-步长
char tmp[MAX_LEN]; //定义数组
strcpy(tmp,pStr+n); //pStr+n 后面的内容,复制给tmp数组
strcpy(tmp+steps,pStr); //tmp+steps处开始存储pStr
*(tem+strlen(pStr))='\0'; //字符串结束标志
strcpy(pStr,tmp); //讲tmp重新复制给pStr,
}
够详细了.