gpt4 book ai didi

c++ - 在 C/C++ 中返回 0 作为默认值的基本原理

转载 作者:IT老高 更新时间:2023-10-28 22:22:53 24 4
gpt4 key购买 nike

将零用作“默认”函数返回值是否有原因?我注意到来自 stdlib 和几乎所有其他地方的几个函数,当没有返回正确的数字(例如 pow()、strcpy())或错误(负数)时,只返回零。

在看到几个使用否定逻辑执行的测试后,我变得很好奇。非常困惑。

为什么不返回 1、0xff 或任何正数呢?

最佳答案

基本原理是您想要区分与不同错误相对应的所有可能(负)返回值的集合所有一切正常的唯一情况。追求这种区别的最简单、最简洁和最 C-ish 的方法是逻辑测试,因为在 C 中所有整数都是“真”,除了零,你想返回零来表示“唯一的情况”,即你想要零作为“好”值。

同样的推理适用于 Unix 程序的返回值,但实际上在 Unix shell 脚本中的测试中逻辑是相反的:返回值 0 表示“真”(例如,查看/bin/true)。

关于c++ - 在 C/C++ 中返回 0 作为默认值的基本原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/329950/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com