O que retornar a zero significa na linguagem C?


Melhor resposta

Presumo que você esteja falando sobre a função “main ()”?

No UNIX / Linux onde C foi inventado (e possivelmente em outros sistemas operacionais) quando um programa é encerrado, ele retorna um “status de saída” que o sistema que o iniciou em execução pode usar para saber se foi bem-sucedido ou falhou.

Um resultado zero retornado significa “Tudo funcionou bem!” – um resultado diferente de zero indica algum tipo de código de erro.

Isso não é muito usado (se é que é) em ambientes gráficos onde as pessoas iniciam programas a partir de um ícone ou algo assim. Mas em aplicativos de linha de comando, é uma dádiva de Deus.

Pegue por exemplo a ferramenta “make” – que é usada para compilar e vincular aplicativos complicados. Os vários compiladores e linkers fazem um “retorno 0” quando o programa no qual estão trabalhando compilado corretamente – ou “retornam 1” se não compilou.

O programa “make” examina o retorno status de cada programa que executa – e aborta a compilação se um deles retornar qualquer coisa diferente de zero.

Isso é uma coisa muito útil.

Então, eu tenho um programa que escrevi que faz algum processamento de imagem. Se o arquivo que lê estiver corrompido, ele “retorna 2” – se o arquivo não existe, ele “retorna 1” e somente se tudo funcionar bem ele “retorna 0”.

Agora – se eu tiver algum programa complicado para construir que tenha imagens embutidas em seu pacote de lançamento – posso fazer com que meu Makefile acione o programa de processamento de imagem – e se ele falhar por algum motivo – ele interromperá a execução do “make”, pode consertá-lo.

Todas as ferramentas de linha de comando do UNIX / Linux retornam um valor diferente de zero para falha – então, mesmo se você usar o programa “rm” padrão para excluir um arquivo – ele fará um “Return 0” se o arquivo foi excluído com sucesso ou “return 1” se ele não pôde ser excluído por qualquer motivo.

Alguns programas retornam códigos diferentes dependendo do que exatamente deu errado – mas isso é bastante incomum.

Observe também que quando você chama a função “exit (0)” – o parâmetro “0” também é o status de retorno … então faça “exit (0)” quando as coisas estão funcionando bem e “ exit (1) ”quando eles não são.

Resposta

Há um Há muitos lugares diferentes em que você pode executar uma instrução return 0 em C, então esta pergunta terá uma variedade de respostas.

Vamos eu respondo a um caso específico:

int main(int argc, char *argv[])

{

...

return 0;

}

Por que retornamos 0 do principal?

Na família * IX de sistemas operacionais, exemplificada primeiro pelo UNIX e depois pelo Linux, existe um programa com um único código de saída inteiro, nominalmente usado para indicar sucesso ou falha.

Na maioria dos casos, um valor 0 indica sucesso e um valor diferente de zero é uma falha, com o valor geralmente indicando algumas informações de erro específicas.

Os programas C e C ++ em execução em sistemas * IX fornecem este código de saída por um valor inteiro passado para a biblioteca padrão função exit () ou pelo inteiro retornado de main () .

Portanto, neste caso, retornamos 0 de principal para indicar aos sistemas * IX que o programa terminou com um código de sucesso.

-Marcar

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *