Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

[explicação] Porque o uso do int antes do main() e do return0; no final?

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    C / C# [explicação] Porque o uso do int antes do main() e do return0; no final?

    Bem, vocês já devem ter reparado que grande parte dos programadores coloca int main() abaixo das includes e um return 0; no final, como no exemplo abaixo:


    #include<stdio.h>
    #include<conio.h>
    int main()
    {
    printf ("Guia do Hacker www.guiadohacker.com.br");
    getch();
    return 0;
    }



    Porque ele usou o int antes do main() e o return 0; no final?

    Simples, o int main() indica que a função retornará um valor inteiro para o sistema operacional, no caso, se for 0 indicará que o programa "rodou" com sucesso, por isto coloca-se o return 0;, para retornar ao sistema operacional o valor 0.



    Para que serve aquele conio.h e getch() ?


    conio.h >> Permite usar o getch()
    getch() >> Este comando faz o programa esperar o usuário apertar alguma tecla para continuar.

    E se eu colocar alguma coisa depois do return 0;?

    O programa simplesmente não irá executar so comando depois do return 0; . Tente por exemplo colocar o seguinte depois do return 0; e antes do }:

    Código:
    printf ("Guia do Hacker    www.guiadohacker.com.br");
    getch();
    Ficando assim:

    Código:
    #include<stdio.h>
    #include<conio.h>
    int main()
    {
    printf ("Guia do Hacker    www.guiadohacker.com.br");
    getch();
    return 0;
    printf ("Guia do Hacker    www.guiadohacker.com.br");
    getch();
    }

    Note que, ao rodar seu programa, ele não executará o que está após o return 0;.


    Last edited by RafaelVenancio; 18-12-2009, 19:26.
    Att,

    [A]ntharaz



    sigpic

  • Font Size
    #2
    Bowa kara!! BEm explicado!!
    Eu estudo essa merda ai tbm!! Muito lko!! hEUhEUe

    Vlws!!
    Não te engane. De Deus não se zomba, o que o homem plantar, é o que ele vai colher. (Gálatas 6:7)


    sigpic


    Comment


    • Font Size
      #3
      Eu uso o ...

      System("Pause");
      Bom tuto..
      sigpic




      R.I.P - 2008 —— 2015
      Capiroto, descanse em paz!

      русский Империя

      Phishing's job. PM me!! $$$

      Comment


      • Font Size
        #4
        Parabens. muito bom.

        Comment


        • Font Size
          #5
          É interessante os contornos são possíveis fazer até chegar ao return 0.
          Tipo no código abaixo, e imprime a primeira frase, vai lá em baixo (pula o return 0),
          imprime a segunda, volta e, enfim, retorna o zero.

          Código:
          #include<stdio.h>
          #include<conio.h>
          int main()
          {
          printf ("Guia do Hacker    www.guiadohacker.com.br");
          getch();
          
          goto final;
          inicio:
          return 0;
          
          final:
          printf ("\nGuia do Hacker    www.guiadohacker.com.br");
          getch();
          goto inicio;
          }

          Outra coisa que é bom lembrar (especialmente para os iniciantes), é que a estrutura de um código C não é obrigatoriamente:
          Código:
          #include<stdio.h>
          
          #include<conio.h>
          
          int main()
          {
          printf ("Hello World!");
          getch();
          
          return 0;
          }
          Quero chama atenção para o return 0.
          Como o Antharaz disse, retorna-se zero quando tudo rodou com sucesso.
          Mas, se em seu programa você quiser informar que o programa rodou errado você pode retornar um outro valor conhecido (um código do erro no caso).
          E nessa caso, o main() pode ter mais de um return.
          Exemplo:

          Código:
          #include<stdio.h>
          #include<conio.h>
          int main()
          {
          printf ("Guia do Hacker    www.guiadohacker.com.br");
          getch();
          
          int x = 4;
          
          if(x == 1)
              return 0;
          else
              return x;
          }
          Acima, se o x for diferente de 1 eu assumo que o programa rodou errado.

          Comment


          • Font Size
            #6
            Postado Originalmente por Wronskian Ver Post

            Código:
            #include<stdio.h>
            #include<conio.h>
            int main()
            {
            printf ("Guia do Hacker    www.guiadohacker.com.br");
            getch();
            
            goto final;
            inicio:
            return 0;
            
            final:
            printf ("\nGuia do Hacker    www.guiadohacker.com.br");
            getch();
            goto inicio;
            }

            E trelembrando que embora exista o recurso do GOTO não é muito aconselhavel usa-lo em demasia, pois pode tornar o código fonte confuso. Devemos tentar usar outros recursos, apenas o usando se for realmente necessário, e com moderação!
            É só ver os JMP da vida no Assembly a chatisse que é ficar procurando pra onde ele ta indo..

            E do return 0, infelizmente as vezes mesmo não retornando o número requerido, o Windows deixa ele rodar, já no linux é owned né!

            Comment


            • Font Size
              #7
              Sim, como o MaLaGueta disse não é aconcelhavel utilizar o "goto", claro isso vai de cada um. Mas se for um programa com o código fonte grande, tornará muito confuso. E lembrar que "C" é uma linguagem estruturada.

              Alguns utilizam o

              getch();

              outros o

              System("pause"); /*Este utiliza da biblioteca <stlib.h> que além do pause pode se utilizar comandos do prompt de comando./*



              Acho que é isso ae. =P
              "Sou apenas mais um entre muitos..."

              Comment

              X
              Working...
              X