我想要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++;
}
}
答案 0 :(得分:0)
在POSIX系统上,您可以使用m
修饰符自动为字符串分配内存
char *input_string;
scanf("%ms", &input_string);
请注意,为避免内存泄漏,最终将需要调用free(input_string);
释放已分配的内存。