Scanf строка и установить указатель - PullRequest
0 голосов
/ 08 марта 2019

Мне нужна строка scanf и указатель на него. Строковый ввод каждый раз отличается, поэтому я не могу установить как char input[20]. Пока что безуспешно.

int main(void) {
    char input;
    char *input_string = input;
    scanf("%s", &input_string);

    int i = 0; 
    while (input_string[i] != '\0') {
        printf('%d', input_string[i]);
        i++;
    }
}

1 Ответ

0 голосов
/ 09 марта 2019

В системе POSIX вы можете использовать модификатор m для автоматического выделения памяти для строки

char *input_string;
scanf("%ms", &input_string);

Обратите внимание, что во избежание утечки памяти, вам в конечном итоге потребуется вызвать free(input_string);, чтобы освободить выделенную память.

...