【问题标题】:Why does the program return with an exit code other than I specified?为什么程序返回的退出代码不是我指定的?
【发布时间】:2016-03-10 17:28:56
【问题描述】:

这是一个简单的程序:

int main() {
    return 0;
}

退出代码是0

如果我写:

int main() {
    return 700;
}

退出代码是188

为什么这里的退出代码是188 而不是700

【问题讨论】:

标签: c exit-code


【解决方案1】:

而 C 中的 main 函数返回 intoperating systems don't necessarily use int as the error code

700 二进制是1010111100
将此值截断为 8 位会产生 10111100
这等于十进制的188

这意味着您的操作系统使用八位错误代码。1


1 或者可能是 9 位,因为第 8th 位(我们从 0 开始计数,请注意)在这里是 0。这是极不可能的,因为 9 不是 2 的幂,但数据宽度的约定也是如此。

【讨论】:

  • 可能是 8 位,我在 Linux 机器上进行自动化测试时遇到了这个问题。
  • @tletnes 是的,当然。它更多地是理论上的。没有理智的操作系统会用 9 位实现它。
猜你喜欢
  • 2019-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-23
  • 2013-09-12
  • 2013-03-24
  • 2013-09-24
  • 1970-01-01
相关资源
最近更新 更多