1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

C | Codigo Correcto não compilado ...

Discussão em 'Programação' iniciada por [email protected], 9 de Fevereiro de 2013. (Respostas: 12; Visualizações: 3049)

  1. M@D

    [email protected] Power Member

    Boas
    Comprei hoje o livro do Damas Linguagem C, instalei o DevC++ fiz projecto de C e copiei o codigo do Hello World para testar:
    Código:
    #include <stdio.h>
    main()
    {
       printf ("Hello World!");
    }
    Quando meto para compilar nao da erro nenhum, mas n deixa. Testei no Code Blocks e a mesma coisa...

    Desculpem se for algo estupido da minha parte mas n sei o que fazer :confused:

    Cumpz e agradeço desde já a ajuda
    [email protected] :D
     
  2. BG7

    BG7 Power Member

    Em alguns compiladores(mingw, codeblocks) a função main deve fazer return de um int. Outros, Visual c++, Turbo c++o teu código deve dar.

    Código:
    #include <stdio.h>
    int main()
    {  
         printf ("Hello World!");  
         return 0;
    }
    Já deve funcionar.
     
    Última edição: 9 de Fevereiro de 2013
  3. M@D

    [email protected] Power Member

    Muito Obrigado pela resposta rapida, tentei em ambos e nao deu :(

    No DevC++ apareceu esta mensagem de erro: C:\Users\Ted\Desktop\C\Makefile.win [Build Error] [Project1.exe] Error 1

    Cumpz
    [email protected] :D
     
  4. ffar

    ffar Power Member

    Qual o conteúdo da tua Makefile?

    Se compilares em command line, compila?
     
  5. BG7

    BG7 Power Member

    Esse erro é um erro do compilador. Poderá ser um erro de permissões? Experimenta executar em modo administrador.
    Senão funcionar deve então ser algum problema na instalação.Contudo o que disse em cima mantem-se. Em C a função main deve ser do tipo int.
     
  6. M@D

    [email protected] Power Member

    Obrigado pela a ajuda
    Corri em modo admin e deu erro no g++.exe ( que penso que seja o compilador ).
    Vou desintalar e voltar a instalar para ver se dá.

    Cumpz
    [email protected] :D
     
  7. d1sturb3d

    d1sturb3d Power Member

    Não te esqueças de adicionar o ficheiro .c ao teu projecto. Deve ser esse o problema.
     
  8. Noeljunior

    Noeljunior I fold therefore I AM

    A função main na devia devolver sempre um inteiro?

    Isto já não tenho a certeza, mas quase, omitiste o tipo de dados de retorno da função main. Ou seja, por definição devolve um int e falta um return na funçao...
     
  9. Razorlight

    Razorlight Power Member

    tenta fazer assim:

    Código:
    #include <stdio.h>
    void main()
    {
       printf ("Hello World!");
    }
    acrescenta void á main e vê se dá
     
  10. BG7

    BG7 Power Member

    O erro não está no código, o erro que dá é do compilador. Pode escrever ali o que quiser que o erro vai manter-se.

    Se o problema fosse o return da função main o erro que dava no compilador seria o seguinte: 'main' must return 'int';
     
  11. Experimenta:

    Código:
    #include <stdio.h>
    
    int main(){
    
        printf("Ola");
    
        while(1){} //evita a consola fechar
    
        return 0; //nao chega a ser executado por causa do while, mas evita possiveis erros de compilaçao
    
    }
    Provavelmente o que acontece é que o compilador está a executar o programa mas abre a consola, escreve "Hello World!", retorna 0 (fecha consola) numa fracção de segundo que nao consegues ver xD
     
  12. andreykhavro, o problema não está no código. e o compilador de C não executa programas, compila-os, tu é que depois os vais executar.
    O problema dele está em compilar.

    E o código está certo, e a mensagem de erro não indica nada relacionado com ele. Logo são definições do Dev-C++
     
  13. Espera lá... tu estás a utilizar o DevC! E pelo que percebi não consegue é executar o programa! Aquilo tem vários botões, um deles apenas compila. Quando lá clicas, dá lhe algum erro? Se não, é porque está (ou deve estar) a compilar. Tem de ver se é criado o ficheiro NOME.exe, onde NOME é o nome do ficheiro onde esta o codigo fonte.

    E eu sei que compilar é diferente de executar =) Não disse que não eram. Sim, o código está certo. Disse só para adicionar o while para evitar o fecho da consola, não porque ia alterar alguma coisa da execução.
     
    Última edição: 13 de Fevereiro de 2013

Partilhar esta Página