Scanf字符串和设置指针

时间:2019-03-08 19:50:10

标签: c pointers scanf

我想要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 :(得分:0)

在POSIX系统上,您可以使用m修饰符自动为字符串分配内存

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

请注意,为避免内存泄漏,最终将需要调用free(input_string);释放已分配的内存。