基本上我使用了 exit(0);在 if 语句中退出程序,就像我的教授想要的那样。他惊呼程序执行:7/7 我的所有测试用例都正确执行。好!
源代码:2.5/3 未初始化:重复、字符 您已呼叫 exit 以便尽早逃脱。不要这样做。 (不要使用任何构造提前转义循环。您正在使用它来修补一些草率的代码。)
我应该使用 return 而不是使用 exit 吗?为什么这被认为是草率的代码?我还可以使用哪些其他替代方案?
使用返回0;而不是使用 exit(0);
通常不建议使用
exit(0)
从函数或 if 语句中终止程序,因为它会立即终止整个程序,绕过可能需要运行的任何清理代码或析构函数。它被认为是草率的,因为它是一种突然结束程序的生硬方式,并且可能导致资源泄漏或其他意外行为。
最好使用
exit(0)
,而不是使用 return 0;
,尤其是当您位于函数或 main()
函数内部时。 return
允许程序优雅退出,在终止之前执行任何必要的清理代码或析构函数。
使用
exit(0)
或 return
终止程序的一些替代方法包括:
break
语句打破循环。总的来说,使用
return
而不是 exit()
可以让程序遵循正常的控制流程并优雅地处理终止,从而使代码更简洁、更易于维护。