| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 480 人关注过本帖
标题:数据丢失问题
取消只看楼主 加入收藏
幽灵X
Rank: 5Rank: 5
等 级:职业侠客
帖 子:128
专家分:328
注 册:2013-1-28
结帖率:80%
收藏
已结贴  问题点数:10 回复次数:3 
数据丢失问题
程序功能:把字符串中的所有字符左移一个位置,第一个字符移到最后
但是运行后第一个字符不见了,应该出现在最后一位的。我百思不得其解,请各位帮忙看看。
程序代码:
#include <stdio.h>
void chg(char *s);
main()
{
    char a[30],*p;
    p=a;
    printf("请输入一个长度小于30的字符串:");
    gets (a);
    chg(p);
    printf("移动后:%s",p);
    printf("\n");
}
void chg(char *s)
{
    char c;
    c=*s;
    for(;*s!='\0';s++)
    {
        *s=*(s+1);
        printf("\n%c\n",*s);                //这是我为了调试程序加的
    }
    *s=c;
    printf("\n%c\n",*s);                    //这是我为了调试程序加的
    *(s+1)='\0';

 }


搜索更多相关主题的帖子: 丢失 字符串 
2013-02-08 16:39
幽灵X
Rank: 5Rank: 5
等 级:职业侠客
帖 子:128
专家分:328
注 册:2013-1-28
收藏
得分:0 
回复 3楼 dsl975708035
呃.....问题是解决了,但是你能不能讲一下错误原因,为什么加一句s--就好了。
2013-02-08 16:54
幽灵X
Rank: 5Rank: 5
等 级:职业侠客
帖 子:128
专家分:328
注 册:2013-1-28
收藏
得分:0 
哦,谢谢了,分给你了。
2013-02-08 16:57
幽灵X
Rank: 5Rank: 5
等 级:职业侠客
帖 子:128
专家分:328
注 册:2013-1-28
收藏
得分:0 
呃,怎么给分啊?
2013-02-08 16:58
快速回复:数据丢失问题
数据加载中...
 
   



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

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