C | Codigo Correcto não compilado ...

M@D

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
M@D :D
 
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:
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.

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
M@D :D
 
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.
 
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
M@D :D
 
Em alguns compiladores(mingw, codeblocks) a função main deve fazer return de um int.
A função main na devia devolver sempre um inteiro?

Outros, Visual c++, Turbo c++o teu código deve dar.
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
M@D :D
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...
 
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
M@D :D

tenta fazer assim:

Código:
#include <stdio.h>
void main()
{
   printf ("Hello World!");
}

acrescenta void á main e vê se dá
 
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';
 
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
 
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++
 
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:
Back
Topo