| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 826 人关注过本帖
标题:我这程序到底哪里写错了
取消只看楼主 加入收藏
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
结帖率:92.45%
收藏
已结贴  问题点数:20 回复次数:7 
我这程序到底哪里写错了
char *convert(char *dest)
{
    char *head=dest;
    char *ss=dest;
    char *src={0};   
    while(*dest)
    {
        if(*dest!=':')
        {
            dest++;
        }
        else
        {
            head=dest;
            dest--;
            while((*dest != ':')&&(strcmp(dest,ss)!=0))
            {
                *src=*dest;
                src++;
                dest--;
            }
            dest=head;
            dest++;
        }
    }   
    return src;
}
int main()
{
    char *s="ab:cd";
    printf("%s\n",convert(s));
}
搜索更多相关主题的帖子: convert 
2012-08-24 00:40
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:0 
回复 2楼 遗矢的老人
你的意思是改为字符数组吗?

我是初学者
2012-08-24 17:34
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:0 
回复 5楼 zklhp
加了malloc还是错误,到底应该怎么写啊

我是初学者
2012-08-26 23:05
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:0 
正确答案应该要打印ba:dc

我是初学者
2012-08-26 23:08
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:0 
回复 9楼 遗矢的老人
这么写我试了,虽然不崩溃了 但是却什么也不打印出来

我是初学者
2012-08-27 09:34
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:0 
void reverse_string(char *string, int element)
{
    char *end = string + element - 1;
    while(end > string)
    {
        char pairs[2] = {*string, *end};
        *end = pairs[0];
        *string = pairs[1];
        string++;
        end--;
    }
}

char *reverse(char *string)
{
    char *from = string;
    char *to = string;
    while(1)
    {
        if((*to == ':') || (*to == 0))
        {
            reverse_string(from, to - from);
            from = to + 1;
            if(*to == 0)
                break;
        }
        to++;
    }
    return string;
}
#include <stdio.h>
#include <string.h>

int main()
{
    char buf[64];
    const char *string = "156E:7601:XJHG";
    memset(buf, 0, sizeof(buf));
    memcpy(buf, string, strlen(string));
    printf("源:%s\t目的:%s\n", string, reverse(buf));
}

我是初学者
2012-08-27 11:16
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:0 
朋友的答案是这样

我是初学者
2012-08-27 11:17
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:0 
回复 12楼 xzy199999
是不是加了static后是静态存储区,函数结束后不被销毁?

我是初学者
2012-08-27 11:18
快速回复:我这程序到底哪里写错了
数据加载中...
 
   



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

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