как читать строку через scanf?

объявляю строку через указатель (задание такое), надо ее прочитать через scanf, оно не работает, подскажите пожалуйста

int main(){
    char *s;
    scanf("%s", &s);
    printf("%s", s);
}

Ответы (1 шт):

Автор решения: Harry

Надо выделить память, куда читать...

char * s = malloc(1024); // Или сколько вам надо
scanf("%s",s);      // Чтение ОДНОГО СЛОВА
scanf("%[^\n]",s);  // Чтение строки до конца (символа новой строки)
→ Ссылка