主题:求指教!偶是新手!编程遇到问题了!求解!
#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”但最后还是弹出内存不能读的警告!求高手帮忙解释下!
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”但最后还是弹出内存不能读的警告!求高手帮忙解释下!