Viết chương trình nhập các số nguyên n, a, b (n > 0, a < b, n < b - a). Tạo danh sách liên kết L1 gồm n số ngẫu nhiên trong đoạn [a, b].

Code:
#include<stdio.h>
#include<conio.h>
#include<time.h>
#include<stdlib.h>

struct Node 
{
       int info;
       struct Node* next;
};

typedef struct Node* NodePointer;


int createRandom(int a, int b)
{
    int r;
    r = rand()%(b - a + 1) + a;
    
return r;
}

void initialize(NodePointer pfirst)
{
     pfirst = NULL;
}

void createList_L1(NodePointer pfirst1, int a, int b, int n)
{
     NodePointer p, plast1;
     plast1 = NULL;
     int i, r;
     
     for (i = 1; i <= n; i ++)
     {
         srand(time(NULL));
         r = createRandom(a, b);
         
         p = (NodePointer)malloc(sizeof(struct Node));
         p->info = r;
         p->next = NULL;
         
         if(pfirst1 == NULL)
             pfirst1 = p;
         else
             plast1->next = p;       
             plast1 = p;
     }
}

void printList(NodePointer pfirst)
{
     while(pfirst != NULL)
     {
         printf("%d ", pfirst->info);
         pfirst = pfirst->next;
     }
}

main()
{
      NodePointer pfirst1;
      int a, b, n;
      
      printf("Put n in : ");
      scanf("%d", &n);
      printf("Put a, b in : ");
      scanf("%d%d", &a, &b);
      
      initialize(pfirst1);
      createList_L1(pfirst1, a, b, n);
      printList(pfirst1);
      
getch();
}
Chương trình chạy nhưng không in ra được kết quả.