| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 526 人关注过本帖
标题:大家帮忙看看问题出在哪,谢谢
取消只看楼主 加入收藏
sovar
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-11-18
收藏
 问题点数:0 回复次数:3 
大家帮忙看看问题出在哪,谢谢
#include<iostream.h>
//#include<string.h>

char *merry(char *str)    //字符倒置函数
{
    char *add;
    char *end;
    if(str==NULL)         //如字符串为空返回
        return 0;

    add=str;

    while(*str!='\0')
        str++;
    
    end=str;

    while(add!=end)      //交换字符串内容
    {
        char temp;
        temp=*add;
        *add=*end;
        *end=temp;

        add++;
        end--;
    }

  while(*str!='\0')
    return add;

}


void main()
{
    char s[6]="hello";

    char *a;

    a=merry(s);
      cout<<a<<endl;
}
搜索更多相关主题的帖子: include return 字符串 hello 
2008-11-18 22:43
sovar
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-11-18
收藏
得分:0 
谢谢楼上的了
2008-11-18 23:21
sovar
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-11-18
收藏
得分:0 
还有你的程序有个隐含的错误,就是处理的字符串只能是基数,偶数的话会内存错误。
原因是偶数时,这个判断不会为真add!=end


这个问题怎么解决? 我想想了要
2008-11-18 23:26
sovar
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-11-18
收藏
得分:0 
#include<iostream.h>
//#include<string.h>

char *merry(char *str)    //字符倒置函数
{
    char *add;
    char *add1;
    char *end;
    int n=0;
    
    if(str==NULL)         //如字符串为空返回
        return 0;
    add=str;
    add1=str;

    while(*str!='\0')
    {
        str++;
        n++;
    }
    
    end=str-1;

    for(int i=0;i<n/2;i++)     //交换字符串内容
    {
        char temp;
        temp=*add;
        *add=*end;
        *end=temp;

        add++;
        end--;
    }

 
    return add1;

}


void main()
{
    char s[7]="hello0";

    char *a;

    a=merry(s);
      cout<<a<<endl;
}

改好了,谢谢   aipb2007  了
2008-11-18 23:41
快速回复:大家帮忙看看问题出在哪,谢谢
数据加载中...
 
   



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

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