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

传值改不动,传地址改得动

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

第 ④ 条路线学过:调用函数时,形参只是实参的一份副本,函数里改形参,外面的变量不会变。

想让函数改调用者的变量,就把变量的地址传进去:

  • 形参写成指针:void add2(int *p);
  • 调用时传地址:add2(&b);,这时 p 指向 b;
  • 函数里写 *p = *p + 1;,改的就是 b 本身。
#include <stdio.h>

void add1(int x)
{
    x = x + 1;
}

void add2(int *p)
{
    *p = *p + 1;
}

int main(void)
{
    int a = 5, b = 5;
    add1(a);
    add2(&b);
    add2(&b);
    printf("%d %d\n", a, b);
    return 0;
}

输出的 a 是【0】,b 是【1】;add1 里被加 1 的 x 是【2】。

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