fork download
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. struct tnode {
  5. int value;
  6. struct tnode *next;
  7. };
  8.  
  9. struct tnode* dodaj_na_poczatek(struct tnode *root, int val);
  10.  
  11. int main(void)
  12. {
  13. struct tnode *glowny = NULL;
  14. int wartosc;
  15. puts("Podaj wartosc do zapisania w liscie(wpisz q, aby zakonczyc program):");
  16. while((scanf("%d", &wartosc)) == 1)
  17. {
  18. glowny = dodaj_na_poczatek(glowny, wartosc);
  19. printf("Oto elementy listy:");
  20. wypisz(glowny);
  21. puts("\nPodaj kolejna wartosc do zapisania w liscie:");
  22. }
  23. printf("Oto elementy listy:");
  24. wypisz(glowny);
  25. printf("Do widzenia!\n");
  26. return 0;
  27. }
  28.  
  29. struct tnode* dodaj_na_poczatek(struct tnode *root, int val)
  30. {
  31. struct tnode *cur;
  32. cur = (struct tnode*)malloc(sizeof(struct tnode));
  33. cur->value = val;
  34. cur->next = root; //te twoje ify to cholera wie po co...
  35. return cur; //zwracamy nowego roota
  36. }
  37.  
  38. void wypisz(struct tnode *root)
  39. {
  40. while(root != NULL)
  41. {
  42. printf("%3d ", root->value);
  43. root = root->next;
  44. }
  45. }
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
Success #stdin #stdout 0.01s 1856KB
stdin
1 2 3 q
stdout
Podaj wartosc do zapisania w liscie(wpisz q, aby zakonczyc program):
Oto elementy listy:  1 
Podaj kolejna wartosc do zapisania w liscie:
Oto elementy listy:  2   1 
Podaj kolejna wartosc do zapisania w liscie:
Oto elementy listy:  3   2   1 
Podaj kolejna wartosc do zapisania w liscie:
Oto elementy listy:  3   2   1 Do widzenia!