回 帖 发 新 帖 刷新版面

主题:求指教!偶是新手!编程遇到问题了!求解!

#include<iostream>
using namespace std;
struct Chain

  char data;
  Chain *next;
};
Chain *head;
Chain *Creat()
{
    Chain *p=NULL;
    Chain *q=NULL;
    head=NULL;
    char zm;
    cout<<"输入字母"<<endl;
    cin>>zm;
    while(zm>'d')
    {
        p=new Chain;
        p->data=zm;
        if(head==NULL)
            head=p;
        else q->next=p;
        q=p;
            cout<<zm<<int(zm)<<endl;
        cout<<"输入字母"<<endl;
        cin>>zm;
    }
    if(head!=NULL)
    return(head);
        q->next=NULL;
}
void showdata(Chain *head)
{
    while(head!=NULL)
    {
        cout<<head->data<<endl;
        head=head->next;
    }
}
int main()
{
    showdata(Creat());
    return 0;
}
这个运行会出现内存不能读的提示!为什么呢?
如果在第一个whilw那里把(zm>'d')改成zm!='e'可以输出“abcd”但最后还是弹出内存不能读的警告!求高手帮忙解释下!

回复列表 (共1个回复)

沙发

别看这个问题了!呵呵!又把问题更新了!求解那个问题!

我来回复

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