Ir ao conteúdo
  • Cadastre-se
Hugo_barbosa

C Programaçao basica em C difilculdade nas funções

Recommended Posts

Bom dia

Eu estou a começar a aprender a programação em C e neste momento estou a aprender as funções.

O problema e o seguinte  o compilador da erro e diz que o valor 1 foi returnado e eu não sei onde cometi o erro.

Alguem me pode ajudar o programa esta aqui por baixo:

 

#include <stdio.h>


int square (int num); 

int main() {
  int x, result;
  
  x = 5;
  result = square(x);
  printf("%d squared is %d\n", x, result);
    
  return 0;

 

Agradeço a quem poder ajudar 

 

Continuação de um bom dia

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
34 minutos atrás, Hugo_barbosa disse:

Bom dia

Eu estou a começar a aprender a programação em C e neste momento estou a aprender as funções.

O problema e o seguinte  o compilador da erro e diz que o valor 1 foi returnado e eu não sei onde cometi o erro.

Alguem me pode ajudar o programa esta aqui por baixo:

 

#include <stdio.h>


int square (int num); 

int main() {
  int x, result;
  
  x = 5;
  result = square(x);
  printf("%d squared is %d\n", x, result);
    
  return 0;

 

Agradeço a quem poder ajudar 

 

Continuação de um bom dia

 

Quando você diz : int square(int num);

Você está declarando apenas o protótipo da função (apenas dizendo para o compilador que existe uma função abaixo) sendo assim, é necessário criá-la.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Hugo_barbosa Olá. Seu código poderia ficar assim:

#include <stdio.h>

// Protótipo da função
int square (int num);

int main() {

  int x, result;

  x = 5;
  result = square(x); // chamada a função square
  printf("%d squared is %d\n", x, result);

  return 0;
}

// Função propriamente dita com sua implementação
int square(int num) {

    int answer;
    answer = num * num;
    return answer;
}

Perceba que quando é feito essa operação:

result = square(x);

o q está acontecendo é que o valor que a função square retorna é atribuído a variável result

Essa mesma função (square) poderia ser resumida dessa forma:

int square(int num) {
    return num * num;
}

Vê se deu p entender bem

Obs: Aproveitei p ir treinando meu inglês hehe

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
13 horas atrás, giu_d disse:

@Hugo_barbosa Olá. Seu código poderia ficar assim:


#include <stdio.h>

// Protótipo da função
int square (int num);

int main() {

  int x, result;

  x = 5;
  result = square(x); // chamada a função square
  printf("%d squared is %d\n", x, result);

  return 0;
}

// Função propriamente dita com sua implementação
int square(int num) {

    int answer;
    answer = num * num;
    return answer;
}

Perceba que quando é feito essa operação:


result = square(x);

o q está acontecendo é que o valor que a função square retorna, no caso, o número elevado ao quadrado, é atribuído a variável result

Essa mesma função (square) poderia ser resumida dessa forma:


int square(int num) {
    return num * num;
}

Vê se deu p entender bem

Obs: Aproveitei p ir treinando meu inglês hehe

sim deu para entender bem obrigado pela ajuda :)

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×