【发布时间】:2021-12-26 09:24:47
【问题描述】:
我正在用 C 语言编写一个接受用户输入的程序,当我输入 Ctrl+d 时,它会打印数千个 (null) 作为输出。怎么了?是某种内存泄漏吗?代码如下:
while (1) {
char *buffer = malloc(BUFFER_SIZE);
fgets(buffer, BUFFER_SIZE, stdin);
printf("%s", buffer);
}
BUFFER_SIZE 设置为 256。
【问题讨论】: