开发者社区 问答 正文

各位,下面程序的运行结果 是什么

#include 
#include
int main(void) {
int p=NULL;
p=(int)malloc(sizeof(int));
*p=3;
printf("p=%p\n",p);
printf("*p=%d\n",*p);
p=(int*)realloc(p,sizeof(int));
printf("p=%p\n",p);
printf("*p=%d\n",*p);

p=(int*)realloc(p,3*sizeof(int));
printf("p=%p\n",p);
printf("*p=%d\n",*p);

realloc(p,0);
p=NULL;
return 0;
}

展开
收起
a123456678 2016-03-23 15:58:30 1691 分享 版权
1 条回答
写回答
取消 提交回答
  • #include
    using namespace std;
    int main(void) {

    int *p=NULL; //修改
    p=(int*)malloc(sizeof(int));//修改
    *p=3;
    printf("p=%p\n",p);
    printf("*p=%d\n",*p);
    p=(int*)realloc(p,sizeof(int));
    printf("p=%p\n",p);
    printf("*p=%d\n",*p);
    
    p=(int*)realloc(p,3*sizeof(int));
    printf("p=%p\n",p);
    printf("*p=%d\n",*p);
    
    realloc(p,0);
    p=NULL;
    return 0;

    }
    运行结果:
    p=01017A10
    *p=3
    p=01017980
    *p=3
    p=01011A80
    *p=3
    请按任意键继续. . .

    2019-07-17 19:11:23
    赞同 展开评论
问答地址: