如何解决C中的练习3编程,Stephen Kochan - 第11章

时间:2017-06-13 01:23:53

标签: c

我想知道句子"考虑设置一个特殊的结构来指向列表的开头"手段。这是否意味着他希望在练习中创建一个指向列表开头的新结构,而不是用于制作列表的练习中使用的结构?或者他的意思是制作一个在练习2中创建的相同结构的虚拟结构?我做了这个节目;它看起来像这样。

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

struct entry
{
    int value;
    struct entry *next;
};

struct entry *head, n1, n2, n3, n4, temp;

void insertentry (struct entry *newEntry/*= temp*/, struct entry *EntryNo/*=head*/ )
{
    newEntry->next = EntryNo->next;
    EntryNo->next = newEntry;
}

int main()
{
    void insertentry (struct entry *newEntry, struct entry *EntryNo );

    head     = &n1;
    n1.value = 100;
    n1.next  = &n2;
    n2.value = 200;
    n2.next  = &n3;
    n3.value = 300;
    n3.next  = (struct entry *) 0;
    n4.value = 340;
    printf("the value before the new entry\n");
    while(head != (struct entry *) 0) {
        printf("%i\n", head->value);
        head = head->next;
    }

    head      = &temp;
    temp.next = &n1;
    insertentry(&n4, &temp.next);
    printf("the value after the new entry\n");
    while(head != (struct entry *) 0) {
        printf("%i\n", head->value);
        head = head->next;
    }
}

当我运行程序时,这就是(完全)出现的:

the value before the new entry
100
200
300
the value after the new entry
340
0
100
200
300

我做了一个名为&#34; temp&#34;指向列表的开头, 但是当程序开始运行时,虚拟结构中的值出现了。我该怎么办?有人可以帮忙吗?

0 个答案:

没有答案