和乐i
2020-06-17 15:12
采纳率: 100%
浏览 92

请大佬们看一下,我的头插法建表出了什么问题

代码如下:

#include<iostream>
#include<stdlib.h>      //malloc()函数需要用此头文件 
#include<conio.h>       //getche()函数需要用此头文件 
using namespace std; 

typedef int datatype; 
typedef struct node{    //节点类型 
    datatype data;      //数据域 
    struct node *next;  //指针域 
}linklist;

//头插法建表 
linklist *CreatListF(linklist *head){
    int ch;
    linklist *s;
    head=NULL;
    while(ch=getche()!'#'){
        s=(linklist*)malloc(sizeof(linklist));
        s->data=ch;
        s->next=head;
        head=s;
    }
    return head;
    free(s);
}

//输出函数 
void Output(linklist *head) {
    linklist *p=head;
    cout<<endl;
    cout<<"链表中的元素为:";
    while(p->next!=NULL){
        cout<<p->data;
        p=p->next;
    }
    cout<<p->data;
    cout<<endl; 
    free(p);
}

int main() 
{
    linklist *head;
    cout<<"请输入建表数据:"<<endl;
    head=CreatListF(head);
    cout<<endl;
    Output(head);

    cout<<endl;
    free(head);
}

运行后结果如下:
图片说明

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • qiu_shaofeng 2020-06-17 23:00
    已采纳

    while((ch=getche())!='#') 加个括号

    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题