Mam problem z dodaniem stringa ze spacją na stos. Dokładniej to z jego wczytaniem bo wczytuje mi znaki do pierwszej spacji :| Jak wprowadzam znak i daje enter program automatycznie pomija kolejne imię i nazwisko. Wiecie jak najprościej to prawidłowo dodać?
#include <stdio.h> #include <stdlib.h> #include <string.h> struct stacknode { char nameandsurname[30]; int age; char znak; struct stacknode *next; }; struct stacknode *push (struct stacknode *top, int data, char nameandsurname[], char znak) { struct stacknode *newnode = (struct stacknode*)malloc(sizeof(struct stacknode)); if (newnode) { strcpy(newnode->nameandsurname, nameandsurname); newnode->znak=znak; newnode->age=data; newnode->next=top; top=newnode; } return top; }; void print (struct stacknode *top) { while (top) { printf("Imie i nazwisko: %s\nWiek: %d\nZnak: %c\n\n", top->nameandsurname, top->age, top->znak); top=top->next; } } int main() { struct stacknode *top = NULL; int i, age; char znak; char nameandsurname [30]; for (i=0; i<5; i++) { printf("Podaj imie i nazwisko: "); scanf("%s", nameandsurname); printf("Podaj wiek: "); scanf("%d", &age); printf("Podaj jakis znak: "); scanf("%c ", &znak); top=push(top, age, nameandsurname, znak); } return 0; }