小甲鱼老师说如果这样使用free(),第二次就打印不出来了?可是我还是打印出来了
本帖最后由 超凡天赐 于 2017-1-21 23:04 编辑#include <stdio.h>
#include <stdlib.h>
int main()
{
int *ptr=NULL;
int num,i;
scanf("%d",&num);
ptr=(int *)malloc(num*sizeof(int));
for(i=0;i<num;i++)
{
scanf("%d",ptr+i);
}
for(i=0;i<num;i++)
{
printf("%d",*(ptr+i));
}
free(ptr);
printf("\n");
for(i=0;i<num;i++)
{
printf("%d",*(ptr+i));
}
return 0;
} 因为你用的编译器没有立刻修改那段内存,我的就不行了
页:
[1]