模拟线上逻辑错误的代码
错误原因:函数的返回值在某些条件下,不会有正确的返回,结果会返回一个随机值,导致后续的判断出错。
代码可以编译通过,因为在函数某些条件下是存在返回值的。
但是这样的代码肯定是不合理的。
#include <iostream>
using namespace std;
int fun() {
int i = 1;
if (i == 1) {
} else {
return 0;
}
}
int main() {
int ret = fun();
if (ret != 0) {
cout << "error ret = " << ret << endl;
}
return 0;
}
产生的结果
error ret = 258092
这是真是在业务代码里发现的,写代码一定要细心,不然全是坑。。。
此处记录,避免之后出现这种不仔细的错误
again,这个坑不是我写的,前人留的