fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. struct node
  5. {
  6. int data;
  7. struct node *next;
  8. }
  9. *start = NULL;
  10. struct node *current;
  11.  
  12. void display();
  13.  
  14. void createList();
  15.  
  16. int main(void)
  17. {
  18.  
  19. int numberOfElements = 0;
  20. printf("How many elements do you want to enter?\n");
  21. scanf("%d",&numberOfElements);
  22.  
  23. for (int i = 0; i < numberOfElements; ++i){
  24. printf("Please enter data for element number %d\n", i+1);
  25. createList();
  26. }
  27.  
  28. display();
  29.  
  30.  
  31. return 0;
  32.  
  33. }
  34.  
  35. void display(){
  36. struct node *tempNode;
  37.  
  38. printf("Now displaying the list\n");
  39. tempNode = start;
  40. while (tempNode != NULL){
  41. printf("%d---> ",tempNode->data);
  42. tempNode = tempNode->next;
  43. }
  44. printf("NULL\n");
  45.  
  46. }
  47. void createList(){
  48. struct node *newNode;
  49. newNode = (struct node *)malloc(1 * sizeof (struct node));
  50.  
  51. //printf("Please enter the data for each element\n");
  52. scanf("%d", &newNode ->data);
  53.  
  54. // For testing
  55. printf("You entered %d\n",newNode->data);
  56.  
  57. newNode->next = NULL;
  58.  
  59. if(start == NULL){
  60. start = newNode;
  61. current = newNode;
  62. }
  63. else {
  64. current->next = newNode;
  65. current = newNode;
  66. printf("%d", (start->next)->data);
  67. }
  68. }
  69.  
Success #stdin #stdout 0s 4140KB
stdin
5
1
2
3
4
5
stdout
How many elements do you want to enter?
Please enter data for element number 1
You entered 1
Please enter data for element number 2
You entered 2
2Please enter data for element number 3
You entered 3
2Please enter data for element number 4
You entered 4
2Please enter data for element number 5
You entered 5
2Now displaying the list
1---> 2---> 3---> 4---> 5---> NULL