p1=p=new LNode;好像不能这样初始化

解决方案 »

  1.   

    // 好象你不是把源程序拷过来的:NULL都是小写,for循环缺花括号。// 有个大Bug就是忘了释放内存。下面改好的程序,请验收。#include <iostream.h>typedef int ElemType;struct LNode
    {
        ElemType data;
        LNode*next;
    };void main()
    {
        LNode *p,*q,*p1;    p1 = p = new LNode;    for(int i=0; i<3; i++){
            q = new LNode;
            cin >> q->data;
            p->next = q;
            p = q;
            p->next = NULL;
        }    for( p = p1->next ; p != NULL ; p = p->next )
        {
            cout << p->data << " ";
        }    while( p1 != NULL )// Free memory!!!
        {
            p = p1->next;
            delete p1;
            p1 = p;
        }
    }