关于动态内存的问题
本帖最后由 Mr丶张 于 2020-4-2 18:53 编辑#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char *ptr = NULL;
int count = 0;
ptr = (char *)malloc(sizeof(char));
printf("请输入一段字符");
while((ptr = getchar()) != '\n')
{
count++;
// ptr = realloc(ptr , count * sizeof(char));
}
printf("你输入的字符串倒过来是:");
while(count--)
{
printf("%c",ptr);
}
puts("");
free(ptr);
return 0;
}
为什么把第十七行给注释了 还能free (ptr) 第9行不是malloc了吗 同意楼上,因为 ptr = (char *)malloc(sizeof(char));已经对ptr赋值,所以自然可以free()
页:
[1]