c - main函数的返回值范围

标签 c posix c99 exit-code

标准对主要返回值范围有何规定? 说最多只能到255?

因为

int main(void){
return 256;
}
echo $? ;  # out 0

最佳答案

标准没有说。 0EXIT_SUCCESSEXIT_FAILURE 具有(某种)指定的含义。其他任何事情都取决于实现。

目前,大多数基于 Unix 的系统仅支持 8 位返回值。 Windows 支持(至少)32 位返回值。我没有检查过 64 位 Windows 是否支持 64 位返回值,但我对此表示怀疑,因为即使 64 位 Windows 通常仍然使用 32 位 int。

关于c - main函数的返回值范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57265303/

相关文章:

c - 为什么这些构造使用前后递增的未定义行为?

c - 具有相同指针的指针运算(数组下标不是整数)

memory - 带有 STL 向量的 shm_open 和 mmap

c - 'wait' 系统调用上的 EINTR

c - -255 到 255 范围内的有符号字符溢出是否未定义?

c - C99 是否允许 UCHAR_MAX > UINT_MAX

c - 获取程序原来被调用的位置

c - 我的代码有什么问题(它没有调用该函数)?

c - 让 getchar 只读取一个字符

python - 通过 Cython 调用 inet_pton