不交答案的函数
约 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。设计函数前先问自己一句“它有没有东西要交回去”,答案自然清楚。
小纸条
判断这两个该不该有返回值:①打印九九表 ②求两数之和。
登录 后可看答案