This is a simple program :
int main() {
return 0;
}
The exit code is 0
.
If I write:
int main() {
return 700;
}
The exit code is 188
.
Why is 188
instead of 700
the exit code here?
This is a simple program :
int main() {
return 0;
}
The exit code is 0
.
If I write:
int main() {
return 700;
}
The exit code is 188
.
Why is 188
instead of 700
the exit code here?
While the main function in C returns an
int
, operating systems don't necessarily useint
as the error code.700
in binary is1010111100
.Truncating this value to eight bits yields
10111100
.This equals
188
in decimal.That means your OS uses eight bits for error codes.1
1 Or possibly nine bits because the 8th bit (we start counting from 0, mind you) is
0
here. This is highly improbably due to9
not being a power of2
, though, as is convention for data widths.