标题:数组指针问题,望告知!
取消只看楼主
sdg430
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2010-5-17
结帖率:66.67%
 问题点数:0 回复次数:2 
数组指针问题,望告知!
麻烦大家帮我看下下面的程序,我想输出的是。例如输入为“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;
}
搜索更多相关主题的帖子: 指针 
2010-07-21 15:53
sdg430
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2010-5-17
得分:0 
回复 2楼 mxs810
都改正过来了,但最后执行时候还是有弹框!,这怎么回事呀
2010-07-21 16:45
sdg430
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2010-5-17
得分:0 
回复 2楼 mxs810
刚才搞错了,太谢谢你了,但我在有些地方上看到tmp[],这时的tmp指向数组的首地址,是个指针常量,不能进行tmp++这样的操作
2010-07-21 16:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-313628-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.100974 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved