这是一个简单的程序:
int main() {
return 0;
}
退出代码为0
。
如果我写:
int main() {
return 700;
}
退出代码为188
。
为什么188
代替700
退出代码?
答案 0 :(得分:9)
虽然C中的主要功能返回int
,operating systems don't necessarily use int
as the error code。
700
为1010111100
将此值截断为8位会产生10111100
这等于188
十进制。
这意味着您的操作系统使用8位来表示错误代码。 1
1 或者可能是9位,因为8 th 位(我们从0开始计数,请注意)这里是0
。这是非常不可能的,因为9
不是2
的强大功能,但这是数据宽度的惯例。