return 和continue的区别
return
和 continue
是两个完全不同的控制流关键字,它们的核心区别在于作用范围和功能:return
是函数级的控制流,而 continue
是循环级的控制流。
特性 | return | continue |
---|---|---|
作用范围 | 整个函数 | 当前循环迭代 |
功能 | 终止函数并返回 | 跳过当前迭代,进入下一次循环 |
是否影响后续代码 | 函数内后续代码不再执行 | 仅跳过循环体内的剩余代码 |
典型场景 | 函数结束、递归终止、错误处理 | 过滤循环中的特定情况 |
例
- **
return
**终止当前函数(或方法)的执行,并将控制权交还给调用者。
int sum(int a, int b) {
if (a < 0 || b < 0) {
return -1; // 提前终止函数,返回错误码
}
return a + b; // 正常返回结果
}
continue
适用于标准循环结构(如for
、while
、do-while
)其核心作用是跳过当前迭代的剩余代码,直接进入下一次循环,即仅作用于当前循环
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) {
continue; // 跳过偶数
}
cout << i << " "; // 输出奇数:1 3 5 7 9
}
void processData() {
// 编译错误:continue 不能用于函数作用域
continue; // ❌ 错误!👌continue 只能在循环中使用
}
⛩️特别注意:在DFS(深度优先搜索)算法中,
return
的作用是 终止当前递归分支的搜索,并 回溯到上一层节点,从而尝试其他可能的路径。