Programas C ++ retornam tipo int, por que retornam -1 retornam 255? [duplicado]
Esta pergunta já tem uma resposta aqui:
Intervalo de valores de retorno da função principal 7 respostasObserve que estou executando uma máquina Linux, embora não ache o resultado diferente em uma máquina Windows (ou outra).
Essa é uma pergunta simples - os programas C ++ geralmente retornam um int de 32 bits. Se eureturn -1
e imprima o resultado do terminal, o resultado é255
.
Por que é isso? Eu sinto que o link é algo que eu deveria saber ou deveria ter notado há muitos anos - nunca usei códigos de retorno antes ou pensei sobre isso antes.
Teste o programa C ++:
int main()
{
return -1;
}
Compilar:
g++ main.cpp -o a.out
Corre:
./a.out
Verificar resultado:
echo $?
Resultado:
255
Eu esperava ver 2 ^ 32 - 1.
Por que o resultado255
não-1
ou mesmo4294967295
. (2^32 - 1
)