dynamiczna alokacja scanf
Z jakiegokolwiek powodu drukowany jest następujący kod (null):
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char *foo;
scanf("%ms", &foo);
printf("%s", foo);
free(foo);
}
Próbuję przydzielić pamięć na łańcuch dynamicznie, ale jak powiedziałem wcześniej, mój program po prostu wysyła dane (null). Pracowałem nad tym, tworząc funkcję przy użyciu getche i realloc, ale wydaje się to prawie bezcelowe, ponieważ musiałem także zaprogramować, co by się stało, gdyby użytkownik wprowadził backspace, tab itp. Ale jak powiedziałem, to tylko praca wokół i wolałbym wiedzieć, dlaczego powyższy kod nie działa ...
Dodatkowe informacje:
Używam Pelles C IDE v7.00 i kompiluję ze standardem C11