无论出于何种原因,以下代码都会打印(null):
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char *foo;
scanf("%ms", &foo);
printf("%s", foo);
free(foo);
}
我正在尝试为字符串动态分配内存,但正如我之前所说,我的程序只是输出(null)。我通过使用 getche 和 realloc 创建一个函数来解决这个问题,但这似乎几乎毫无意义,因为我还必须编写如果用户输入退格、制表符等会发生什么。但正如我所说,这只是一项工作周围,我宁愿知道为什么上面的代码不起作用......
附加信息:
我正在使用 Pelles C IDE v7.00 并使用 C11 标准进行编译