Tutorial Exercises 6

Tue, 24 Nov 2009 00:00:00 -0400
/tags/C, /tags/cs2023/tutorial, /tags/linked list, /tags/pointers

Fill in the three missing functions in this code, so that numbers are printed out in order. Note that you can debug print_numbers independently.

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

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

struct node *read_numbers(void){
  struct node *first = NULL;
  int n;
  printf("Enter a series of integers"
         " (0 to terminate): ");
  for (;;) {
    scanf("%d", &n);
    if (n == 0)
      return first;
    first = add_to_list(first, n);
  }
}

struct node *reverse(struct node *list){
}

struct node *add_to_list(struct node *list, n){
}

void print_numbers(struct node *list){
}

int main(void){
  struct node *list=NULL;

  list=read_numbers();
  list=reverse(list);
  printf("output: \n");
  print_numbers(list);
}