打印链接列表(打印更多应该)

时间:2012-12-16 21:45:49

标签: c list output

这些是函数

//printList for Debugging
void printList(letterListT *head){
    letterListT *temp = head;
    while(temp != NULL){
        printf("%c ", temp->letter);
    temp = temp->nxt;
    }
}  

//Add the Specified Letter by Creating a New Node in the Letter List defined
void addLetter(letterListT *letListHead, char letter){
    letterListT *newNode;
    newNode = (letterListT *)malloc(sizeof(letterListT));

    newNode->letter = letter;

    newNode->nxt = letListHead->nxt;
    letListHead->nxt = newNode;
}

这些是主要的:

unusedLetList = (letterListT *)malloc(sizeof(letterListT));
unusedLetList->nxt = NULL;

for(i=122; i>=97; i--){ //ascii codes for z to a
addLetter(unusedLetList, i);
}

//printlists Test
printList(unusedLetList);

这是输出......

p a b c d e f g h i j k l m n o p q r s t u v w x y z 

我的问题是......这个'p'来自哪里?!

1 个答案:

答案 0 :(得分:5)

列表头节点。

unusedLetList = (letterListT *)malloc(sizeof(letterListT));
unusedLetList->nxt = NULL;

在此处创建头节点,然后在头节点之后添加每个字母。头节点具有未初始化的->letter字段。它可能是任何东西;它碰巧是p