Guerrouj 发表于 2019-8-29 11:40:16

以下是单链表的一个输出的代码,我无法实现output。程序可以运行,但是没输出。

#include <stdio.h>
#include <stdlib.h>

#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0

typedef int Status;          /* Status是函数的类型,其值是函数结果状态代码,如OK等 */
typedef int ElemType;      /* ElemType类型根据实际情况而定,这里假设为int */

struct Node {
    int Data; /* 存储结点数据 */
    struct Node *Next; /* 指向下一个结点的指针,如果typedef struct Node *PtrToNode在前面,则这里也可以写成'List Next'*/
};
typedef struct Node *List;// List是指向Node的结构体指针 。struct Node *==List。这相当于定义了单链表类型。
//单链表和顺序存储结构的不同之处就在于,单链表用了结构体指针。顺序存储结构只是定义了结构体SqList,SqList是结构体类型,并不是结构体指针。



/*以上是单链表的定义*/

void output(List L)
{
        List p;
        p=L->Next;
        while(p->Next)
        {
                printf(p->Data);
                p=p->Next;
        }
       printf(" ");
}



int main() {
        int N, i,e;
    List L, p;
    scanf("%d", &N);
    L = NULL;
    for ( i=0; i<N; i++ ) {
      p = (List)malloc(sizeof(struct Node));
      scanf("%d", &p->Data);
      p->Next = L;L = p;//这里定义的单链表是这样的:每次输入一个节点p数据,然后接到单链表L的头上。 所以你相当于是倒着输入的。
    }
    output(L);
        return 0;
}

justjust001 发表于 2019-8-30 14:50:04

printf(p->Data);
这个有问题吧?{:10_269:}

Julia999 发表于 2019-9-6 11:40:55

printf("%d ",p->data);
页: [1]
查看完整版本: 以下是单链表的一个输出的代码,我无法实现output。程序可以运行,但是没输出。