数组指针问题,望告知!
麻烦大家帮我看下下面的程序,我想输出的是。例如输入为“abcdefg",循环右移两位后输出应为“fgabcde",想看到下面这个loopmove的函数执行,但编译通过,执行时有错误,麻烦大家帮我看下应该怎么改,才能得出结果,另外还有个疑问就是tmp是个数组名,在 strcpy(tmp+steps,pstr);这句中,tmp应该是个指针常量,它可以进行tmp+steps这样的操作吗?麻烦各位了!#include "stdio.h"
#include "string.h"
void loopmove(char* pstr,int steps)
{
int n=strlen(pstr)-steps;
char tmp[10];
strcpy(tmp,pstr+n);
strcpy(tmp+steps,pstr);
*(tmp+strlen(pstr))='/0';
strcpy(pstr,tmp);
}
int main()
{
int steps=2;
char* pstr="abcdefg";
loopmove(pstr, steps);
printf(" zhegeshi %s/n",pstr);
getchar();
return 0;
}