为什么程序返回的是除我指定的退出代码?

这是一个简单的程序:

int main() { return 0; } 

退出代码为0

如果我写:

 int main() { return 700; } 

退出代码是188

为什么188而不是700退出代码?

虽然C中的main函数返回一个int ,但操作系统不一定使用int作为错误代码 。

二进制7001010111100
将该值截断为8位产生10111100
这相当于十进制的188

这意味着您的操作系统使用8位来表示错误代码。 1


1或者可能是9位,因为第8位(我们从0开始计数,请注意)在这里为0 。 然而,这是非常不可能的,因为9不是2的幂,这是数据宽度的惯例。