【发布时间】:2016-03-10 17:28:56
【问题描述】:
这是一个简单的程序:
int main() {
return 0;
}
退出代码是0。
如果我写:
int main() {
return 700;
}
退出代码是188。
为什么这里的退出代码是188 而不是700?
【问题讨论】:
-
@Mr.Bose “一个显示您当前日期和时间的简单程序”。你什么意思?
这是一个简单的程序:
int main() {
return 0;
}
退出代码是0。
如果我写:
int main() {
return 700;
}
退出代码是188。
为什么这里的退出代码是188 而不是700?
【问题讨论】:
而 C 中的 main 函数返回 int、operating systems don't necessarily use int as the error code。
700 二进制是1010111100。
将此值截断为 8 位会产生 10111100。
这等于十进制的188。
这意味着您的操作系统使用八位错误代码。1
1 或者可能是 9 位,因为第 8th 位(我们从 0 开始计数,请注意)在这里是 0。这是极不可能的,因为 9 不是 2 的幂,但数据宽度的约定也是如此。
【讨论】: