Programação Progressiva

Fórum para dúvidas dos sites: Programação Progressiva, Java Progressivo, C Progressivo


Você não está conectado. Conecte-se ou registre-se

Uma dúvida rápida de um iniciante em C

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

1 Uma dúvida rápida de um iniciante em C em Dom Jan 26, 2014 6:46 pm

Introdução
Então, comecei ontem a fazer o curso de C, escolhi essa linguagem a ser a primeira aprender pelo fato dela ser mais complexa e mais valorizada que a Java.

Dúvida
Uma coisa que não consegui achar no conteúdo das aulas que fiz é uma explicação sobre a seguinte linha em negrito de programação, pra que ela serve, quando devo usá-la:

#include <stdio.h>

int main(void)
{
   printf("Meu primeiro programa - C Progressivo!\n");
   return 0;
}

esse é um exemplo de programa simples pra que você possa me explicar, se puder, desde já agradeço! Pois notei que nos programas seguintes se eu não colocasse esse "return 0;" não fazia nenhuma falta, e o programa rodava normalmente, então quero saber pra que serve. Smile

Ver perfil do usuário

2 resposta em Qui Mar 13, 2014 1:39 am

anderson campos


Convidado
ola meu caro


Introdução
Então, comecei ontem a fazer o curso de C, escolhi essa linguagem a ser a primeira aprender pelo fato dela ser mais complexa e mais valorizada que a Java.

Dúvida
Uma coisa que não consegui achar no conteúdo das aulas que fiz é uma explicação sobre a seguinte linha em negrito de programação, pra que ela serve, quando devo usá-la:

#include <stdio.h>

int main(void)
{
  printf("Meu primeiro programa - C Progressivo!\n");
  return 0;
}

esse é um exemplo de programa simples pra que você possa me explicar, se puder, desde já agradeço! Pois notei que nos programas seguintes se eu não colocasse esse "return 0;" não fazia nenhuma falta, e o programa rodava normalmente, então quero saber pra que serve.

Ola meu caro este Código é muito importante, pois ele retorna o resultado da função no monitor, ele pode ser substituído por system ("pause"); ambos tem o mesma função, mesmo que não tenha efeito agora, um hora você precisara dele, ok.

3 Re: Uma dúvida rápida de um iniciante em C em Qui Abr 03, 2014 11:08 am

não é no monitor que ele retorna não,
ele retorna o resultado da função para onde a função foi chamada. no caso do main ele retorna para o sistema operacional.

Willian, o return faz o seguinte:

quando você chama uma função você pode querer que ela te retorne algum resultado por exemplo:
você pode criar a função:
int fatorial(int a){
int i;
for(i=a-1;i>0;i++){
a=a*i;
}
return a;
}
essa função calcula o fatorial de um numero a, mas como você vai saber o resultado dela? quando a função chega no comando return ela diz para quem a chamou que o seu resultado foi "a" e se fecha.
assim se voce quiser saber o fatorial de um numero, por exemplo 8, voce só precisa chamar essa função assim:

int fat;

fat = fatorial(Cool;

nesse exemplo a variavel fat vai receber o valor da função fatorial quando a começa com o valor 8, se não tivesse a linha return a; não ia receber nada.

na função int main(); é um pouco dificio de enxergar a necessidade, pois que chama ela é o sistema operacional, mas o valor do return pode dizer se o programa terminou com algum erro ou executou com sucesso, só não sei quais valores retornar em cada caso, normalmente sempre coloco zero.

Ver perfil do usuário

4 Re: Uma dúvida rápida de um iniciante em C em Qui Abr 03, 2014 11:10 am

anderson,

o system("pause"); pausa a execução do programa, não tem nada a ver com o return 0; que finaliza a execução retornando um valor, no caso 0.

Ver perfil do usuário

5 Re: Uma dúvida rápida de um iniciante em C em Ter Set 23, 2014 2:32 pm

O sistema operacional do seu computador e um programa enorme, se Mal comparado,
e todos os *.exe que existem nele são como funções dentro de uma programa C.

Sempre que um programa (*.exe) chega a seu fim, ele retorna o 0 para o sistema operacional.
int main (void) {... programa ... return(0);} é padrão na linguagem C isso acontecer para informa que tudo ocorreu como esperado, existe outros valores que representa certo estado específico, algo que exige um estudo mais profundo.

Ver perfil do usuário

Conteúdo patrocinado


Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum