questo è un semplice programma:
int main() { return 0; }
il codice di uscita è 0
.
se scrivo:
int main() { return 700; }
il codice di uscita è 188
.
perché è 188
invece di 700
il codice di uscita qui?
En title : Why does the program return with an exit code other than I specified?
mentre la funzione principale in C restituisce un
int
, i sistemi operativi non necessariamente utilizzareint
come codice di errore.700
in binario è1010111100
.troncare questo valore a otto bit produce
10111100
.questo equivale a
188
in decimale.ciò significa che il vostro sistema operativo utilizza otto bit per i codici di errore. 1 1 1 1
1 O forse nove bit perché l '8 ° bit (cominciamo a contare da 0, mente si) è
0
qui. questo è molto improbabile a causa di9
non essere un potere di2
, però, come è convenzione per larghezze di dati.