c-为什么程序返回的退出代码不是我指定的



这是一个简单的程序:

int main() {
    return 0;
}

退出代码为0

如果我写:

int main() {
    return 700;
}

退出代码为188

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

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

二进制中的CCD_ 7是CCD_
将该值截断为八个比特,得到10111100
这等于十进制的188

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


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

相关内容

最新更新