怎么做
  1. 题面里的虚线方框就是要填的空
  2. 点候选项,它会填进当前高亮的那个空
  3. 点已填好的空,可以把选项取回来重选
  4. 全部填满后「提交」才会亮起
卡住了就点右下角的 👩‍🏫 问 AI 老师,她会给提示但不直接给答案。

二级 · 选择:free 之后的悬空指针

👁️ 20 人浏览 💬 0 人评论 ❤️ 添加收藏

读程序,回答问题:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int *p;
    p = (int *)malloc(3 * sizeof(int));
    if (p == NULL)
        return 1;
    p[0] = 7;
    printf("%d\n", p[0]);
    free(p);
    【0】
    if (p == NULL)
        printf("p 已置空\n");
    return 0;
}

为了不留下悬空指针,【0】处应写上一句;没写这一句时,free(p) 之后 p 的值【1】; 如果在 free(p) 之后、置空之前写 p[0] = 1;,结果是【2】;如果整个程序漏写了 free(p),结果是【3】。

请登录后作答。
去登录
👩‍🏫
AI
💬 题目评论
🔒 登录并作答后可看讨论