×
Ir ao conteúdo
  • Cadastre-se

Problema de iniciante


Posts recomendados

Olá pessoal....estou iniciando o meus estudos na area de programação...estou começando com a linguagem C..

peguei um curso na internet da UFSC, q inclusive já vi sendo recomendado por usuários aqui no fórum...

Baixei e instalei o programa "Bloodshed Dev-C++ 4.9.9.2"... e o meu problema é o seguinte... não estou conseguindo rodar os exemplos q a apostila oferece, e até mesmo alguns exemplos de programas bm mais sofisticados que achei na net. Qd eu abro um novo "Projeto" o programa Dec-C++ me dá algumas opções de projetos como "Windows Application" "Console Application" e mais outros... Eu geralmente entro no Windows Application, depois apago os codigos q já vem escritos e copio os codigos da apostila, apos isso dou o comando Compilar e Executar....mas aih ele sempre acusa algum erro com uma linha vermelha no código, ou simplesmente nao faz nada.

O código mais simples q tento colocar é este aqui:

/* Programa : Bom Dia! */
#include <stdio.h>
void main()
{
printf(“Bom Dia!!!!”);
}

Quando dou o comando compilar e executar, o programa sombrei em vermelho o colchete aberto logo abaixo do "void main()"

alguem sabe o q está acontecendo??

Link para o comentário
Compartilhar em outros sites

O erro é simples, toda função main deve retornar um int como resultado, sendo o valor 0 = sucesso na execução e outros valores relativos a erros de execução. Um void deve sempre ser evitado se tratando de C, mesmo que o compilador permita.

#include <stdio.h>

#include <stdlib.h>

int main()

{

printf("Bom dia!!!!\n");

system("PAUSE");

return 0;

}

Vou explicar os termos que você não deve conhecer:

#include <stdlib.h> - inclui a biblioteca padrão do C (standard), usada em praticamente todo programa feito em C.

/n no printf - pula uma linha.

system("PAUSE"); - chama o prompt de comando e executa o comando pause, que congela a tela até que uma tecla seja pressionada.

Link para o comentário
Compartilhar em outros sites

  • 3 meses depois...
O erro é simples, toda função main deve retornar um int como resultado, sendo o valor 0 = sucesso na execução e outros valores relativos a erros de execução. Um void deve sempre ser evitado se tratando de C, mesmo que o compilador permita.

#include <stdio.h>

#include <stdlib.h>

int main()

{

printf("Bom dia!!!!\n");

system("PAUSE");

return 0;

}

Vou explicar os termos que você não deve conhecer:

#include <stdlib.h> - inclui a biblioteca padrão do C (standard), usada em praticamente todo programa feito em C.

/n no printf - pula uma linha.

system("PAUSE"); - chama o prompt de comando e executa o comando pause, que congela a tela até que uma tecla seja pressionada.

He, você foi quase 100% certo...hehehe... Não é toda função "main" que retorna '0', mas sim toda função "int main" que tem de retornar '0'. A função "void main" não retorna nada...

É isso aí, todo o mais que você escreveu foi muito bom para auxiliá-lo.

Abração e fiquem com Deus...:D

Link para o comentário
Compartilhar em outros sites

  • mês depois...
He, você foi quase 100% certo...hehehe... Não é toda função "main" que retorna '0', mas sim toda função "int main" que tem de retornar '0'. A função "void main" não retorna nada...

É isso aí, todo o mais que você escreveu foi muito bom para auxiliá-lo.

Abração e fiquem com Deus...:D

Você colocou palavras na boca do Starlight :P

Ele não disse que toda função main retorna 0.

Leia de novo:

toda função main deve retornar um int como resultado, sendo o valor 0 = sucesso na execução e outros valores relativos a erros de execução. Um void deve sempre ser evitado se tratando de C, mesmo que o compilador permita.

Starlight está corretíssimo.

De acordo com o C padrão (ANSI C) a função main DEVE retornar um int. Colocar um a função main como tipo VOID desobedece o padrão ANSI.

Muitos compiladores mostram um "warning" (aviso) quando você não põe no cabeçalho da função main o tipo de retorno INT.

E diferente do que você falou, uma função "int main" não necessariamente retorna 0. Ela pode retornar -5,-1, 0, 2, 3... qualquer inteiro.

Caso retorne ZERO significa que o programa executou com sucesso, sem erros (como bem dito pelo Starlight). Qualquer outro valor de retorno significa que ocorreu um erro no programa, e o valor pode servir como um código, criado pelo programador, que irá identificar qual tipo de erro ocorreu.

Link para o comentário
Compartilhar em outros sites

Você colocou palavras na boca do Starlight :P

Ele não disse que toda função main retorna 0.

Leia de novo:

toda função main deve retornar um int como resultado, sendo o valor 0 = sucesso na execução e outros valores relativos a erros de execução. Um void deve sempre ser evitado se tratando de C, mesmo que o compilador permita.

Starlight está corretíssimo.

De acordo com o C padrão (ANSI C) a função main DEVE retornar um int. Colocar um a função main como tipo VOID desobedece o padrão ANSI.

Muitos compiladores mostram um "warning" (aviso) quando você não põe no cabeçalho da função main o tipo de retorno INT.

E diferente do que você falou, uma função "int main" não necessariamente retorna 0. Ela pode retornar -5,-1, 0, 2, 3... qualquer inteiro.

Caso retorne ZERO significa que o programa executou com sucesso, sem erros (como bem dito pelo Starlight). Qualquer outro valor de retorno significa que ocorreu um erro no programa, e o valor pode servir como um código, criado pelo programador, que irá identificar qual tipo de erro ocorreu.

Realmente entendi o deve como um "só pode se for assim", eliminando outras possibilidades como o "void main", que apesar de não ser aconselhado é uma possibilidade.

Quanto a função "int main" retornar apenas '0', me expressei de maneira incorreta, todas não retornam apenas '0' mais outros valores que tem representações como por exemplo, erros.

Obrigado pela avaliação e possibilidade de correção de minha resposta.

Abraço e fica com Deus. :D

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Aprenda a ler resistores e capacitores

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!