给函数递东西

8 分钟

上一节的函数只会输出固定 20 个星号。要让它听指挥,就得在括号里留个口子——这就是参数。参数是你调用时递给函数的东西。

void printStars(int n) {          // n 是参数
    for (int i = 0; i < n; i++) cout << '*';
    cout << endl;
}

int main() {
    printStars(20);               // 递进去 20
    printStars(5);                // 递进去 5
    int k = 8;
    printStars(k);                // 也可以递变量
}

调用时括号里写的值(20、5、k)叫实参,函数定义里的 n形参。运行 printStars(5) 时,相当于让 n = 5,然后执行函数体。

参数可以有多个,用逗号隔开,比如 void rect(int w, int h)。递的时候要按顺序、按类型对上rect(3, 4) 里 3 给 w、4 给 h,顺序写反结果就不对。

小坑:实参类型和形参不一致时会悄悄转换。比如形参是 int,你递个 3.9 进去,会被砍成 3,不会报错。考试中传参数时留意类型是否匹配。

小纸条

改成"输出一行 n 个星号",n 由外面决定。

登录 后可看答案

给函数递东西 · 考级冲刺 · op599 课程