Pular para o conteúdo

main(),void main( ),int main( )qual a diferencia [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. main(),void main( ),int main( )qual a diferencia [RESOLVIDO]

Enviado em 28/01/2012 - 21:01h

ola turma da linguagem c tenho uma duvida muito boa, para deixa claro sou inciante na linguagem, eu uso o dec c++ para fazer meus programinhas baixo apostilas e algumas trazem esta diferença de sintaxe.

meus programas em c ñ compilam usando void main() e evito fazer codigo com esta sintaxe usando apenas main() e simplesmente funciona; porem meu professor faz codigos com void main e ainda existem apostilas com int main() qual a diferença e porque na versão mais nova do dev c ++ ñ funciona os programas do professor.

humildemente grato

Responder tópico

2. Re: main(),void main( ),int main( )qual a diferencia [RESOLVIDO]

Enviado em 28/01/2012 - 22:00h

foxbit3r escreveu:

void main () está errado.

Nos livros de programação C para ambiente ms-dos 16 bits é comum vc encontrar código com "void main()".

Porém para ambiente unix/linux 32 ou 64 bits vc deve utilizar o "int main()".
Porque todo programa unix retorna algum valor para o SO.
Baseado nesse valor dá para determinar se um programa foi ou executado com sucesso.

Um exemplo é o comando ls.

se vc digitar ls e depois echo $? e for retornado zero, significa que o comando ls foi executado com sucesso.
Tudo que for diferente de zero é que deu erro.


Vale lembrar que int main() é a mesma coisa que main().
Por padrão retorna um inteiro.

3. Re: main(),void main( ),int main( )qual a diferencia [RESOLVIDO]

Enviado em 29/01/2012 - 01:19h

Olá !

É sempre bom usar essa sintax:

int main ()
{
// ...

return 0;
}

Também é bom lembrar que o valor de retorno de um programa pode ser usado por outro programa, mas isso não é muito utilizado.

4. Standard

Enviado em 29/01/2012 - 08:39h

Bom dia Daniel,

O primeiro conselho: Procure outro IDE, o Dev-C++ é para Windows. Se está no Linux, use softwares para Linux.

Sobre a sua pergunta, o standard suporta apenas dois protótipos:


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


Isso quer dizer que os programas do seu professor não são portáveis. Por favor, o informe. Apostilas contêm dezenas de erros, procure um livro, as chances de equívoco são reduzidas. ;-)

Abraço!

5. Re: main(),void main( ),int main( )qual a diferencia [RESOLVIDO]

Enviado em 29/01/2012 - 10:17h

Bom dia.

Funções do tipo "void" não retornam nenhum valor. Isso quer dizer que elas são apenas procedimentos, são estáticos. Executam determinada ação e pronto.

O correto é utilizar a função "main" como inteira, pois o seu valor poderá indicar se o programa foi finalizado corretamente ou não.

Para entender como funciona o retorno de valores e funções, recomendo que leia livros sobre o assunto ou procure em sites especializados.

Veja: http://www.cplusplus.com/

Recomendo que utilize a IDE CodeBlocks. Você pode baixá-la aqui: http://www.codeblocks.org/

Abraço.

6. cplusplus.com

Enviado em 29/01/2012 - 13:11h

Oi Luiz,

O site cplusplus.com é uma boa referência, mas também contém alguns erros graves com respeito ao standard. Na maioria das vezes são imperceptíveis ao usuário final, mas é bom ficarem atentos. ;-)

Abraço!

7. Re: main(),void main( ),int main( )qual a diferencia [RESOLVIDO]

Enviado em 29/01/2012 - 16:45h

galera muito boa as explicações graça a vcs entendi e tirei minhas duvidas obrigado.

8. Re: main(),void main( ),int main( )qual a diferencia [RESOLVIDO]

Enviado em 29/01/2012 - 16:55h

julio_hoffimann escreveu:

Oi Luiz,

O site cplusplus.com é uma boa referência, mas também contém alguns erros graves com respeito ao standard. Na maioria das vezes são imperceptíveis ao usuário final, mas é bom ficarem atentos. ;-)

Abraço!


Boa tarde.

Julio, obrigado pelo toque. Qual das referências possui erros? A de C ou C++? Digo isso pois programo apenas em C.

Abraço.

9. C++

Enviado em 29/01/2012 - 17:15h

Luiz,

Sempre consultei as referências de C++, não sei se o site comete barbaridades com C. É mais difícil, pois essa linguagem é bastante estabelecida, são poucas alterações relevantes no standard. ;-)

C++ está passando por uma mudança radical, para você ter uma idéia, todos os livros disponíveis hoje estão completamente obsoletos. Rsrs.

Daniel,

Por favor marque o tópico como resolvido e se possível escolha o post [4] como melhor resposta.

Abraço!

10. Re: main(),void main( ),int main( )qual a diferencia [RESOLVIDO]

Enviado em 30/01/2012 - 15:09h

julio a questão do main que eu mim referia era apenas na linguagem c ,continua valendo sua dica desta forma?

11. int main(void)

Enviado em 30/01/2012 - 22:13h

Oi Daniel,

Se não me engano, em C existe uma diferença na versão sem argumentos. Ao invés de int main(), um argumento void deve ser passado: int main(void).

No entanto, a versão com argumentos é a mesma para os dois standards:


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


Abraço!

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder