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

返回指针的函数:交回最高分那一格

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

函数交回的是「格子的地址」,拿着它能改原来的数组

3
9
4
9
1

▲ p

100

*p = 100 改的就是原数组里那一格

函数不光能返回一个数,还能返回一个地址。写法是在函数名前面加 *: int *find_max(int a[], int n) 读作「find_max 是一个函数,它返回 int *」。 调用的地方用一个指针接住:p = find_max(score, 5);,之后 *p 就是原数组里的那一格,改 *p 就是改原数组。

#include <stdio.h>

int *find_max(int a[], int n)
{
    int i, k = 0;
    for (i = 1; i < n; i++)
        if (a[i] > a[k])
            k = i;
    return &a[k];
}

int main(void)
{
    int score[5] = {78, 92, 85, 92, 60};
    int *p;
    p = find_max(score, 5);
    *p = 100;
    printf("%d %d %d\n", score[1], score[3], (int)(p - score));
    return 0;
}

find_max 的返回类型是【0】;p 指向 score[【1】](两个 92 一样大时,> 不会换人);程序输出【2】。

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