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

局部变量和全局变量谁说了算

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

同名时先找最里层;里层没有,才用外面的全局变量

全局 int x = 1;

f 里 int x = 5;

f 里用 x → 5

main 里用 x → 1

变量定义的位置,决定了它在哪儿能用(作用域):

  • 局部变量:定义在函数里(或一对 { } 里)的变量,形参也算。只在这个函数(这对大括号)里能用,函数一结束就没了。
  • 全局变量:定义在所有函数外面的变量。从定义的那一行起,到文件末尾的所有函数都能用;没赋初值时自动是 0。
  • 同名时:局部变量把同名的全局变量「挡住」,函数里用的是自己的那个,全局的不受影响。
#include <stdio.h>

int n = 10;            /* 全局变量 */

void f(void)
{
    int n = 3;         /* 局部变量,和全局的同名 */
    n = n + 1;
    printf("%d ", n);
}

void g(void)
{
    n = n + 1;         /* g 里没有自己的 n,用的是全局的 */
    printf("%d ", n);
}

int main(void)
{
    f();
    g();
    printf("%d\n", n);
    return 0;
}

运行后,f() 打印【0】,g() 打印【1】,main 最后打印【2】。

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