不交答案的函数

8 分钟

有些函数只负责“做事”,不需要交回任何值,比如打印、换行、画图形。它们的返回类型写 void,意思是“没有答案”。

void printLine(int n) {
    for (int i = 0; i < n; i++) cout << '-';
    cout << endl;
}

怎么判断该不该有返回值?看这个函数的“产物”是什么:

  • 求两数之和:产物是一个数,别人要拿去用,应返回 int
  • 打印九九表:产物是屏幕上的输出,动作本身就是目的,没有值要交回,用 void

void 函数里可以写 return;(不带值),用来提前结束;但不能 return 一个值。反过来,非 void 函数必须返回值。

对应的坑:void 函数没有返回值,就不能拿它的“结果”去用。下面是错的:

int x = printLine(5);   // 错:printLine 不交答案,接不住

一句话:要结果就返回,只做事就 void。设计函数前先问自己一句“它有没有东西要交回去”,答案自然清楚。

小纸条

判断这两个该不该有返回值:①打印九九表 ②求两数之和。

登录 后可看答案

不交答案的函数 · 考级冲刺 · op599 课程