回 帖 发 新 帖 刷新版面

主题:急!!!大家看看错在哪啊

#include<iostream.h>
typedef struct node
{
    char data;
    struct node *next;
}LNode,*LinkList;
LinkList CreateFromHead()
{
    LinkList L,r;
    LNode *s;
    char c;
    int flag=1;
    L=new(LNode);
    L->next=NULL;
    r=L;
    while(flag)
    {
        cin>>c;
        if(c!='$')
        {
            s=new(LNode);
            s->data=c;
            r->next=s;
            r=s;
        }
        else
        {
            flag=0;
            r->next=NULL;
        }
    }
    return L;
}
void main()
{
    LinkList L;
    L=CreateFromHead();    
    LinkList pre,p;
    pre=L;p=pre->next;
    int max;    
    max=p->data;
    while(p->next!=NULL)
    {
        p=p->next;
        if(p->data>max)
            max=p->data;
    }
    cout<<max;
}

回复列表 (共5个回复)

沙发


输入的格式为char 而输出的格式为int



所以答案是输出最大数的ASCII码.

板凳

没错
max为int型,而p->data为char型
最后输出的是ASCII码最大的字符的ASCII值

3 楼


上面说的对,

void main()
{
    LinkList L;
    L=CreateFromHead();    
    LinkList pre,p;
    pre=L;p=pre->next;
//  int max; 
    [color=0000FF]char max; [/color]  
    max=p->data;
    while(p->next!=NULL)
    {
        p=p->next;
        if(p->data>max)
            max=p->data;
    }
    cout<<max;
}




另外,内存泄漏的问题需要改正。

4 楼

好厉害啊 谢谢哦 顺便问下什么是内存泄露 如何防止啊
我的QQ;271150521 可以加我吗[em2]

5 楼


为什么输出的是ASCA啊 不懂啊 那位高手跟我说说啊 上面是我的QQ 加我哦

我来回复

您尚未登录,请登录后再回复。点此登录或注册