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