当前位置: 代码迷 >> C语言 >> 运行异常?
  详细解决方案

运行异常?

热度:497   发布时间:2008-04-07 17:28:03.0
运行异常?
此函数要按行实现单词逆排序,编译和连接正常,但运行时出现异常,帮忙看下,谢谢
如:原XX[1]为:ME YOU  HE
则输出为:HE  YOU ME
void sort()
{
    int i,j,strl,k;
    for(i=0;i<maxline;i++)
        for(j=0;j<strlen(XX[i]);j++)
            if(!(XX[i][j]>='a'&&XX[i][j]<='z')||(XX[i][j]>='A'&&XX[i][j]<='Z')||(XX[i][j]>='0'&&XX[i][j]<='9'))
                  XX[i][j]=' ';
            //把串中所有除空格外的分隔符去掉,并用-代替

    for(i=0;i<maxline;i++)
    {
        char ch[80]={0},pp[80]={0};//ch存放当前行,pp暂存一个单词
        strl=strlen(XX[i])-1;
        int l=1;
        while(1)
        {
        while((XX[i][strl]>='a'&&XX[i][strl]<='z')||(XX[i][strl]>='A'&&XX[i][strl]<='Z')||(XX[i][strl]>='0'&&XX[i][strl]<='9'))
            //从行未开始读取字符,如果是字母的话就把字母存放到ch中,直到遇单词结束标记
        {
            for(k=l;k>0;k--)//把暂时存的不完整单词后移一位,第一位接收此串的最后一字符
              pp[k]=pp[k-1];
            pp[0]=XX[i][strl];
            l++;strl--;
        }
        strcat(ch,pp);//把单词存入ch中
        strcpy(pp,"");
        l=1;//pp清空,即当前单词长度为1,'\0'
        if(strl==-1)break;
        while(!(XX[i][strl]>='a'&&XX[i][strl]<='z')||(XX[i][strl]>='A'&&XX[i][strl]<='Z')||(XX[i][strl]>='0'&&XX[i][strl]<='9'))
        {//处理空格,方法同单词处理一样
            for(k=l;k>0;k--)
            pp[k]=pp[k-1];
            pp[0]=XX[i][strl];
            l++;strl--;
        }
        strcat(ch,pp);
        strcpy(pp,"");
        l=1;
        if(strl==-1)break;
        }

        strcpy(XX[i],ch);
    }

}
搜索更多相关的解决方案: 运行  YOU  maxline  sort  void  

----------------解决方案--------------------------------------------------------
饿 就是把字符串反过来输出 有这么麻烦么 ?? 还上我理解错了
----------------解决方案--------------------------------------------------------
恩,就交换
期待你的高见哦!
----------------解决方案--------------------------------------------------------
帮忙看看这写的这个为什么会运行不正常
谢谢
----------------解决方案--------------------------------------------------------
掉线 没法子  和你说下思路把 你看可行不  我门先找出第1个单词 找出地2个单词异词类推 用数组分别接收 对数组之间从收地址开始进行调换 空格也依次形式   你的代码 看的我犯迷糊
----------------解决方案--------------------------------------------------------
期待高手有更好的方法...........总觉得我的方法没啥效率
----------------解决方案--------------------------------------------------------
这是个国家三级计算机考试上的一个题,帮忙看下,我这样编为什么会出现运行异常呢。
----------------解决方案--------------------------------------------------------
怎么没人顶呢,我自已来
哈哈,最前去!让高手们看去!
----------------解决方案--------------------------------------------------------
这个嘛~ 如果你学过栈的话用栈是最好的了~~ 因为是先进后出嘛,你自己想想可不可以理解~~ 把每个字符都PUSH到栈里,然后再POP出来~ 试试吧~ 加油哦~
----------------解决方案--------------------------------------------------------
:-(
不懂呢,没学过
就我最上的那程序有误,错在哪呢?
----------------解决方案--------------------------------------------------------
  相关解决方案