Scanf динамическое распределение
По какой-либо причине следующий код печатает (ноль):
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char *foo;
scanf("%ms", &foo);
printf("%s", foo);
free(foo);
}
Я пытаюсь динамически распределять память для строки, но, как я уже говорил ранее, моя программа просто выводит (ноль). Я работал над этим, создавая функции с использованием getche и realloc, но это кажется почти бессмысленным из-за того, что мне также пришлось программировать, что произойдет, если пользователь войдет в backspace, tab и т. Д. Но, как я уже сказал, это просто работа и я предпочел бы знать, почему вышеприведенный код не работает ...
Дополнительная информация:
Я использую Pelles C IDE v7.00 и компилирую со стандартом C11