为什么程序返回的是除我指定的退出代码?
这是一个简单的程序:
int main() { return 0; }
退出代码为0
。
如果我写:
int main() { return 700; }
退出代码是188
。
为什么188
而不是700
退出代码?
虽然C中的main函数返回一个int
,但操作系统不一定使用int
作为错误代码 。
二进制700
是1010111100
。
将该值截断为8位产生10111100
。
这相当于十进制的188
。
这意味着您的操作系统使用8位来表示错误代码。 1
1或者可能是9位,因为第8位(我们从0开始计数,请注意)在这里为0
。 然而,这是非常不可能的,因为9
不是2
的幂,这是数据宽度的惯例。