• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Guest tsenart

[Resolvido] [C] Dúvida: Diferença entre 'int main() e main()' (Resolvido)

6 mensagens neste tópico

Boa tarde pessoal...

Estou a dar os primeiros passos(estou a entrar na parte das funções e procedimentos :cheesygrin:) nesta linguagem com o livro Linguagem C de Luis Damas publicado pela FCA.

Uma duvida que eu tenho é que em todos os programas que ele escreve no livro a função principal main() não é precedida de int nem acaba com o return como já tenho visto tantas vezes....

Será que alguem poderia esclarecer-me sobre isto? :)

Thankz

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

int main() retorna qualquer número...

void main() ou main() não retorna nada, não necessitas de pôr return...

Não faz muita diferença no caso do main...

Existem códigos loucos que usam o retorno do "main" para alguma coisa, mas em geral isso não serve de nada...

Eu por exemplo nunca uso o int atrás do main()

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O que e retornado pelo int main() tem a haver com o facto da aplicacao ter executado correctamente ou ter retornado erro. 0 (zero) normalmente quer dizer que retornou bem outro numero que retornou erro.

Isto é utilizado para o caso em que tens um programa que chama outro(s) programa(s) e queres saber o resultado da execução.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado pelas explicações. Já estou esclarecido.

Só um off-topiczinho...

A maneira mais simples de manter uma janela de cmd aberta quando o programa é executado directamente do IDE é escrever scanf() antes do fim do programa?  :hmm:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado pelas explicações. Já estou esclarecido.

Só um off-topiczinho...

A maneira mais simples de manter uma janela de cmd aberta quando o programa é executado directamente do IDE é escrever scanf() antes do fim do programa?  :hmm:

Podes usar um:

system("pause");

Ou então qualquer coisa como:

printf("prima tecla para continuar...");
getchar();

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

int main() retorna qualquer número...

void main() ou main() não retorna nada, não necessitas de pôr return...

Não faz muita diferença no caso do main...

Existem códigos loucos que usam o retorno do "main" para alguma coisa, mas em geral isso não serve de nada...

Eu por exemplo nunca uso o int atrás do main()

se não me engano 'main()' é exactamente igual a 'int main()'.

ou seja, por ou não por o 'int' atrás do 'main()' é o mesmo, se tu não o pões, o compilador vai colocá-lo.

pelo menos o gcc acho que funciona assim, quando não é indicado o tipo de retorno de uma função (seja ela a 'main' ou outra qualquer) o gcc assume que o tipo é 'int'.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora